【问题标题】:How can I TransformRequest GET parameters with Angular resource?如何使用 Angular 资源进行 TransformRequest GET 参数?
【发布时间】:2014-06-27 01:43:12
【问题描述】:

使用 ngResource/$resource 时,可以通过指定 transformRequest/transformResponse 来实现自定义(反)序列化。但是这些只控制请求的主体(数据),那么如何在 GET 请求中操作查询参数呢?

具体来说,我想对所有参数值进行 json 编码。

简单案例:
?user=123 是 id 为 123 的用户
?user="123" 是名为 123 的用户

复杂案例:
在 GET 请求中传递对象/哈希。例如,使用类似 mongo 的语法来指定请求标准/投影。 (请注意这个问题不是专门关于 mongo 的)

【问题讨论】:

  • $resource 采用 actions.params 选项,它可以是针对参数名称的函数哈希。这些函数传递了什么有用的东西吗?无论如何让他们掌握 myResource 状态或默认参数字符串?
  • 还有一个actions.interceptor选项,但是它只接受响应拦截器,不接受请求拦截器。

标签: angularjs http-get query-parameters ngresource


【解决方案1】:

您可以为此使用请求拦截器:

$httpProvider.interceptors.push(function() {
  return {
   'request': function(config) {
       //config.params contains query/request parameters
       if (config.params){
         //Do something here...
       }
       return config;
    }
  };
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-09
    • 2016-11-24
    • 1970-01-01
    相关资源
    最近更新 更多