0
我發誓這是工作之前我升級到ngResource 1.3.11 ...AngularJS ngResource自訂參數傳遞兩個「&」到OData服務
所以我的問題是,當我應用自定義過濾器參數去我的OData資源請求,過濾器會在寫入參數之前附加額外的$。
http://myservice/odata/Data?&format=application%2Fjson&$filter=year(Date)+lt+2012
上述工作通過小提琴手很好,是正確的要求。
我使用ngResource使GET請求
data.factory('DataService', ['$resource', function ($resource) {
var odataUrl = 'http://myservice/odata/Data?&format=application%2Fjson';
var d = $resource('', {
filter: '@filter'
}, {
queryByYear: {
method: 'GET',
url: odataUrl, isArray: false
}
});
return d;
}]);
和控制器功能如下:
$scope.getByYear = function (op) {
DataService.queryByYear({ filter: 'year(PublishedDate) ' + op }, function (data) {
$scope.events = data;
});
};
出於某種原因,這個請求的輸出如下:
http://myservice/odata/Data?&format=application%2Fjson&$$filter=year(Date)+lt+2012
注意旁邊的第二個和完全不必要的& param ...
有什麼想法?
其實和ngResource的版本沒有關係。研究AngularJS中的變化以及它們如何處理xhr。 – Knostradamus 2015-02-06 18:04:00