我有这样的服务:
(function() {
'use strict';
angular
.module('app.bookmark')
.factory('bookmarkService', bookmarkService);
function bookmarkService($http){
var url = 'api/bookmark';
bookmarkService.update = function(bookmark){
return $http.put(url + '/' + bookmark.id, bookmark);
};
return bookmarkService;
}})();
而且我想拦截 PUT 方法上的请求以发送没有 ID 属性的有效负载,因为我已经有了 URL 上的属性。
我创建了这些功能:
function httpInterceptor($q) {
return {
request : function(config) {
if(config.method === 'PUT'){
delete config.data.id;
}
return config || $q.when(config);
}
};
}
问题是屏幕(表单)上的id属性正在被删除。假设用户想要永远停留在多次更改同一记录的数据的情况。