15.4. 定义和使用时的占位量
两方面。一是在定义时,在其 URL 中可以使用变量引用的形式(类型于定义锚点路由时那样)。第二时定义默认 params ,即 GET 参数时,可以定义为引用 postData 中的某变量。比如我们这样改一下:
- var Book = $resource('/book/:id', {}, actions);
var book = Book.read({id: '123'}, {}, function(response){
console.log(response);
});
在 URL 中有一个 :id
,表示对 params 中 id
这个变量的引用。因为 read
是一个 POST 请求,根据调用形式,第一个参数是 params ,第二个参数是 postData 。这样的调用结果就是,我们会发一个 POST 请求到如下地址, postData 为空:
- /book/123?_method=read
再看默认的 params 中引用 postData 变量的形式:
- var Book = $resource('/book', {id: '@id'}, actions);
var book = Book.read({title: 'xx'}, {id: '123'}, function(response){
console.log(response);
});
这样会出一个 POST 请求, postData 内容中有一个 id
数据,访问的 URL 是:
- /book?_method=read&id=123&title=xx
这两个机制也可以联合使用:
- var Book = $resource('/book/:id', {id: '@id'}, actions);
var book = Book.read({title: 'xx'}, {id: '123'}, function(response){
console.log(response);
});
结果就是出一个 POST 请求, postData 内容中有一个 id
数据,访问的 URL 是:
- /book/123?_method=read&title=xx