У меня такая же проблема, как упомянуто here: Я пытаюсь подключить свой магазин ExtJS 4.1 с REST API, но когда я удаляю запись из хранилища и, следовательно, вызываю метод HTTP DELETE, он отклоняется на стороне сервера, потому что HTTP-запрос, который отправил ExtJS, содержит тело. К сожалению, принятый ответ по ссылке выше недействителен для версии 4 ExtJS и выше.HTTP DELETE запрос без тела
Самое лучшее, что я достиг до сих пор послать пустой массив (буквально, []) в качестве органа, но, конечно, это все еще отвергнуто:
Это мой код:
Ext.define('TT.proxy.CustomRestProxy', {
alias: 'proxy.customrestproxy',
extend: 'Ext.data.proxy.Rest',
buildRequest: function(operation) {
var request = this.callParent(arguments);
if(operation.action === 'destroy')
{
delete request.operation.records;
}
return request;
}
});
defineStore = function(storeName, modelName, url) {
var storeProperties = {
extend: 'Ext.data.Store',
requires: modelName,
model: modelName,
id: storeName,
proxy: {
type: 'customrestproxy',
url: url,
batchActions: false,
noCache: false,
headers: { 'Content-Type': 'application/json' },
reader: {
type : 'json',
totalProperty: 'total',
successProperty: 'success',
root: 'data'
},
writer: {
type : 'json'
},
}
};
Ext.define(storeName, storeProperties);
};
Я принимаю любые ответы, которые решают эту проблему, но не обязательно включать специальные функции, связанные с ExtJS, то есть перехват запроса AJAX или аналогичной техники также приветствуется.
Пожалуйста, не начинайте войну редактирования. Ознакомьтесь с политикой тегов в заголовках: http://stackoverflow.com/help/tagging – Tarabass