由于运行经典ASP的服务器的限制,我的服务必须使用查询字符串:
angular
.module('myServices', ['ng', 'ngResource'])
.factory('Item', ['$resource',
function ($resource) {
return $resource('/api/?p=item/:id');
}]);
Run Code Online (Sandbox Code Playgroud)
我想为它添加额外的查询字符串参数:
Item.query({test: 123}, on_success, on_error);
Run Code Online (Sandbox Code Playgroud)
但结果网址是
/api/?p=item?test=123
Run Code Online (Sandbox Code Playgroud)
显然有一个错误,但如何绕过它呢?
Har*_*rev 68
您可以使用资源参数.如果未在路径中指定占位符,则会自动将它们转换为查询字符串参数.像那样:
angular
.module('myServices', ['ng', 'ngResource'])
.factory('Item', [
'$resource',
function ($resource) {
return $resource('/api');
}]);
Item.query({p: 'item/1'});
Run Code Online (Sandbox Code Playgroud)
这将导致请求/api?p=item/1.
PS
我想你已经知道了,但你不喜欢它.但我仍然认为这是你的正确方法.考虑到您正在处理该后端的错误API设计,您可以使用另一个为您执行此操作的服务包装AngularJS资源.
| 归档时间: |
|
| 查看次数: |
53239 次 |
| 最近记录: |