angularjs – $resource url中的查询字符串

前端之家收集整理的这篇文章主要介绍了angularjs – $resource url中的查询字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
由于运行经典ASP的服务器的限制,我的服务必须使用查询字符串:
angular
  .module('myServices',['ng','ngResource'])
  .factory('Item',['$resource',function ($resource) {
         return $resource('/api/?p=item/:id');
     }]);

并且我想向它添加额外的查询字符串参数:

Item.query({test: 123},on_success,on_error);

生成的url是

/api/?p=item?test=123

显然有一个bug,但是如何解决呢?

编辑:提交于https://github.com/angular/angular.js/issues/1511

您可以使用资源参数。如果您没有在路径中指定占位符,它们将自动转换为查询字符串参数。像那样:
angular
    .module('myServices','ngResource'])
    .factory('Item',[
         '$resource',function ($resource) {
             return $resource('/api');
     }]);

Item.query({p: 'item/1'});

这将导致对/ api?p = item / 1的请求。

P.S。

我想你已经知道了,但你不喜欢它。但我仍然认为这是你的情况下正确的方式。考虑到糟糕的API设计,你正在处理的后端,你可以包装AngularJS资源与另一个服务,这是为你。

猜你在找的Angularjs相关文章