2016-01-09 43 views
-1

例如,我有這樣的事情:如何在查詢中放置對象? Angularjs資源

{ 
    status: { 
    text: "New", 
    date: "22.06.12" 
    } 
} 

廠與REST類型的互動lookes像

(function(){ 
    'use strict'; 

    angular.module('app') 
     .factory('Orders', Orders); 

    Orders.$inject = ["$resource"]; 
    function Orders($resource){ 
     return $resource('Orders/:id', {id: '@id'}); 
    }; 

})(); 

而且我想找到的所有記錄與status.text =「新」

$scope.orders = Orders.query({status:{text:"Tru"}}); 

根本不工作

$scope.orders = Orders.query({status[text]:"Tru"}}); 

返回所有記錄....

如何把對象屬性查詢?

+0

如何在API中實現實際的過濾? –

+0

我使用REST風格的SailsJS和 像 Orders.query({文字:「文本」}} 工作normaly, 問題如何使用對象爲creteria seraching – Stormsher

回答

0

看起來像你試圖與$資源服務與無RESTful後端進行交互。 $資源是專爲REST,對於其他情況下,最好使用標準的$ HTTP服務,像:

$http({ 
    url: 'http://ololo.com', 
    method : 'get', 
    params : {status: 'tru'} 
}).success(function(response){ 
    $scope.filteredOrder = response; 
}); 

使用「數據」爲「後」。

+0

我用寧靜.. 但即使是在這樣的方式 $ http({url:'http://ololo.com',方法:'get',params:{status:{text:「New」}}}) 不會起作用... – Stormsher

+0

我做了一些重構在我的答案看起來像問題是在後端,檢查那裏,所有的參數都正確。記住,一些後端,不支持本機JSON(如Apache或一些基於Python),需要將JSON轉換爲字符串。嘗試以這種方式發送參數:params:JSON.stringify({status:'tru'}) –