【问题标题】:Query a $resource in AngularJS with params使用参数在 AngularJS 中查询 $resource
【发布时间】:2015-06-17 02:12:57
【问题描述】:

我有一个显示两个日期之间交易列表的 api。 我想以角度资源的形式访问该数据。 当我尝试时,我得到了一堆

GET /trans/12-01-2014/12-02-2014 200 1690ms - 953.2kb
GET /trans 404 1ms
GET /trans 404 1ms
DELETE /trans 404 3ms
POST /trans 404 3ms
DELETE /trans 404 0ms

后面还有更多相同的内容。

它仍然使用资源提供的额外方法返回数据。 我不想自己查询 /trans 路线,因为那是无效的并且需要日期。

var myApp = angular.module('appServices', ['ngResource','ngRoute']);

myApp.factory('Trans', ['$resource',
  function($resource){

return $resource('/trans/:start/:end',{},{
    query: {method:'GET', isArray:true}
});

  }]);

然后是来自 controller.js 的一些代码

function($scope,$routeParams,$http,Trans){
$scope.trans = [];

$scope.trans =Trans.query({start: $routeParams.start, end:
 $routeParams.end});

任何帮助将不胜感激,我是 angularjs 和 node 的新手。

【问题讨论】:

  • 另外我认为我不需要使用 $resource 并尝试在控制器中对我的 api 进行 $http 调用的所有内容,但是当我这样做时,我没有检索到任何数据或页面不更新
  • Plunker 会很酷。并在 $http 东西上编写代码。
  • @MikkoViitala 我去看看我试图用 $http 做什么,现在它正在按照我想要的方式工作。但是,您能否指导我使用除 api 之外的 $resource 的任何资源?谢谢
  • 抱歉,我可以将您指向 Google 或这里 stackoverflow.com/search?q=%5Bangularjs%5D+%24resource :)
  • “当我尝试时会发生什么我得到一堆”?如果你清理你的帖子,我可以帮忙。我不明白你的问题。看起来查询有效,但服务器正在为其他人返回 404。您可能必须定义一个自定义 $resource 来处理查询,以便“get/delete/save”可以发布到 resource/:id

标签: angularjs node.js mean-stack


【解决方案1】:

这是一个sample fiddle,希望对您有所帮助。你需要更新id,无论你的休息结构是什么样的。

mod.factory('MyResource', function ($resource) {
    return $resource('http://unboxedtechnology.com/trans/:id/:start/:end',{},{
                query: {method:'GET', isArray:true}
   });
});

这会支持

MyResource.query({start: ... ,end: ...}})
//GET /trans/:start/:end

resourceInstance.$get({id: ... , }})
// GET /trans/:id

resourceInstance.$create({ ... }})
// POST /trans/

resourceInstance.$update({id: ... , }})
// PUT /trans/:id

resourceInstance.$delete({id: ... , }})
// DELETE /trans/id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多