2
我送整數數組到Web API控制器的方法成功地利用angularjs $資源自定義方法,無需定義PARAMS發送與其它參數數組到一個網頁API。當我使用數組類型參數添加其他參數並在$ resource自定義方法中定義它時,則會成功接收其他參數,但數組發現爲空。 這裏是只有數組工作正常的代碼。 AngularJS服務如何使用angularjs
var Product_Service = $resource('api/Product/:productId', { productId: '@id' },
{
'update': { method: 'PUT' },
'bulkDelete': {
method: 'POST',
url: 'api/Product/BulkDelete',
isArray:true
}
}
調用它像這樣(直接傳遞數組):
bulkDelete: function (productIds) {
var deferred = $q.defer();
Product_Service.bulkDelete(productIds, function (response) {
deferred.resolve(response);
}, function (response) {
deferred.reject(response);
});
return deferred.promise;
},
服務器端:
[Route("BulkDelete")]
public HttpResponseMessage BulkDelete(int[] ProductIds)
{
return Request.CreateResponse(HttpStatusCode.OK);
}
問題: 欲接收這個數組與另一個參數,但在這種情況下數組接收值爲null。
[Route("BulkDelete")]
public HttpResponseMessage BulkDelete(int[] ProductIds,string hi)
{
//now ProductIds is null with another string hi parameter
return Request.CreateResponse(HttpStatusCode.OK);
}
angularjs服務:
'bulkDelete': {
method: 'POST',
url: 'api/Product/BulkDelete',
isArray:true,
params:{
productIds:'@productIds',
hi:'@hi'
}
}
現在打電話是這樣的,
bulkDelete: function (productIds) {
var deferred = $q.defer();
Product_Service.bulkDelete({productIds:productIds,hi:'hi how'}, function (response) {
deferred.resolve(response);
}, function (response) {
deferred.reject(response);
});
return deferred.promise;
},
在哪裏的問題,這可能嗎?如果是的話我需要修改?
非常感謝曾在GO! – ahmadalibaloch 2014-09-05 11:18:39