如何使用Angular AjAX获取具有特定ID的JSON记录?

时间:2015-12-04 18:16:46

标签: angularjs json ajax

我的服务中有这个功能

   function getSomeData() {
  return $http
    .get('/someData.json')
    .then(itWorked)
    .catch(onFail);

返回该JSON文件中的所有记录。如果我只想要一张我有ID的记录怎么办?这似乎是一个简单的搜索,但我是空的。

2 个答案:

答案 0 :(得分:0)

如果它是一个数组,你当然可以编写自己的find函数:

var foundItem;
data.forEach(function(item){
   if(item === someId){
      foundItem = item;
   }
});

或者更好的是,如果您使用Lodash (我强烈推荐),您可以在一行中执行此操作:

var foundItem = _.find(data, {id: someId});

答案 1 :(得分:0)

一种方法是使用$ filter服务从列表中过滤记录。

var filterSelectedRecordFromList = function(
    objectArray, expr) {
    var filtered = $filter('filter')(objectArray,expr,true);
        return filtered[0];
};

所以在你的情况下,如果调用filterSelectedRecordFromList如下所示.. 其中data是JSON列表,someID是您要搜索的Id。

var filteredRecord = filterSelectedRecordFromList(data,{id:someId},true);