我从Angular的$资源中获取了这个奇怪的网址:
DELETE /dashboard/api/1.0/journalEntry?0=5&1=4&10=9&11=3&12=2&13=f&14=7&15=f&16=1&17=6&18=1&19=4&2=0&20=9&21=2&22=a&23=a&3=7&4=9&5=6&6=e&7=e&8=5&9=f
当我真正期待的是:
DELETE /dashboard/api/1.0/journalEntry/540796ee5f932f7f161492aa
我已尝试过该网址,服务器端似乎正常运行。这是Angular Router Service的一个问题。
我在这里定义服务:
'use strict';
angular.module('mean.dashboard')
.factory('JournalEntry', ['$resource',
function($resource){
return $resource('dashboard/api/1.0/journalEntry/:journalEntryId/', {
journalEntryId: '@_id'
}, {
update: {
method: 'PUT'
}
});
}
]);
这里是我称之为资源的控制器:
$scope.editDeleteRow = function(item) {
console.log(item._id);
JournalEntry.remove(item._id).$promise.then(
function(response) {
$scope.addAlert('edit', 'Deleted', 'success');
//TODO remove item from client list
$scope.groupJournalEntries();
},
function(err) {
$scope.addAlert('add', 'Error ' + err.statusText, 'danger');
console.log(err);
}
);
};
我想念的是什么?
答案 0 :(得分:0)
我赶时间,所以我一直没想到这一点。这与@没有按照我预期的方式工作有关。我得到它来定义这样的服务:
.factory('JournalEntry', ['$resource',
function($resource){
return $resource('dashboard/api/1.0/journalEntry/:journalEntryId', {
}, {
update: {
method: 'PUT'
}
});
}
]);
并且这样称呼它:
JournalEntry.remove({journalEntryId: item._id}).$promise.then(