Backbone.js УДАЛИТЬ запрос не стрелять
Я пытаюсь запустить запрос backbone.js DELETE, но не вижу никаких запросов, сделанных в моей консоли.
У меня есть такая модель коллекции:
var Model = Backbone.Model.extend(
{
urlRoot: '/test',
defaults:{}
});
var TableList = Backbone.Collection.extend(
{
url: '/test',
model: Model
});
На мой взгляд, я запускаю это:
this.model.destroy();
Кажется, что все работает нормально, я вижу вывод, исходящий из функции remove, которая вызывает уничтожение, поэтому я знаю, что он туда попал, плюс он также успешно запускает метод unrender, который у меня есть. Невозможно увидеть какие-либо запросы, сделанные на сервер, хотя?
Ответы
Ответ 1
Я нашел проблему для своей проблемы, но пока не решил. Я не уверен, что это ошибка с позвоночником или нет, но я использую ajaxSetup
и ajaxPrefilter
. Я попытался прокомментировать это, и это сработало. Я сузил его до метода ajaxSetup и, в частности, с использованием параметра data
для предварительной настройки некоторых значений.
Ответ 2
Если я не ошибаюсь, вы должны иметь свойство id на своей модели, чтобы убедиться, что оно попадает в правильный URL-адрес. IE, если ваша модель была...
var Model = Backbone.Model.extend({
url: '/some/url'
});
var model = new Model({
id: 1
});
model.destroy(); // I THINK it will now try and DELETE to /some/url/1
Без идентификатора он не знает, как правильно создать URL-адрес, как правило, вы выбираете модель или создаете новую и сохраняете ее, тогда у вас будет Url...
Посмотрите, поможет ли это!
Ответ 3
Вы пытались использовать успешные и обратные вызовы ошибок?
this.model.destroy({
success : _.bind(function(model, response) {
...some code
}, this),
error : _.bind(function(model, response) {
...some code
}, this);
});
Может показаться вам полезным, если вы не видите запрос DELETE.