javascript - 全局变换ngResource query()

标签 javascript angularjs rest ngresource

我想转换 Angular ngResource 的 query() 响应。通过覆盖每个工厂/资源中的方法来做到这一点没有问题,但是我怎样才能做到这一点,以便我的转换适用于所有资源中的所有 query() 方法?

我尝试过使用 $httpProvider.defaults.transformResponse 但我看不出有什么方法可以区分 query() 调用和所有其他调用。

我想返回分页元数据 - 也许还有另一种更清晰的方法?

最佳答案

如果您可以控制端点,则可以添加 X-Total-Count header ( https://github.com/drahak/Restful#paginator )。然后,您的 $httpProvider.defaults.transformResponse 可以检测 header 是否存在以解析分页信息。

$httpProvider.defaults.transformResponse.push( function( data, headersGetter ) {
  if( headersGetter('X-Total-Count') ) {
    // CUSTOM PAGING PROCESSING HERE
    console.info('Results Count', headersGetter('X-Total-Count'));
  }

  return data;
});

关于javascript - 全局变换ngResource query(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20831974/

相关文章:

javascript - 图标不会随 Firefox 或 IE 中的类更改而更改

javascript - 按数字脚本简单排序,3 行,最后几里排序不正确,为什么?

javascript - jquery - css "transform:scale"影响 jquery 的 '.offset()'

angularjs - 即使表达式计算结果为 false,ng-show 元素也是可见的

java - 异步JAX-RS

javascript - 悬停时的 Chart.js 点图像

javascript - 表单元素上的 $watch

javascript - 使用相对定位的元素拖放 Angular 文件上传

json - REST + json + JAXB + namespace

javascript - 使用 AngularJS 使用 Java REST 服务(更新、删除问题)