Как переопределить Backbone.sync, чтобы в конце он добавил apikey и имя пользователя?
Я использую «позвоночник-вкусный пирог», но мне тяжело, чтобы он работал правильно. В Tastypie я использую ApiKeyAuthentication для своих ресурсов, поэтому при каждом запросе ajax мне нужно добавлять apikey и имя пользователя в конец запроса или отправлять дополнительные заголовки, которые добавляют имя пользователя и ключ api.
Я пытаюсь удалить представление и его модель, используя магистраль со следующим кодом:
// Remove the goal update view from the DOM
removeItem: function() {
this.model.destroy({wait: true, success: function() {
console.log("success");
}, error: function() {
console.log("error");
}});
},
После выполнения функции браузер пытается выполнить запрос GET по следующему URL:
:8000/api/v1/update/2/
Он не включает в себя api_key или username в конце, и у него есть завершающий слеш в конце URL. Я думаю, что он пытается использовать Backbone.oldSync для выполнения запроса GET. Как бы я сделал так, чтобы синхронизация включала в себя ключ имени пользователя / API в конце и удаляла косую черту?
Во всех остальных запросах я сделал так, чтобы ключ api и имя пользователя добавлялись в конец запроса http, добавив следующий код в backbone-tastypie:
if ( !resp && ( xhr.status === 201 || xhr.status === 202 || xhr.status === 204 ) ) { // 201 CREATED, 202 ACCEPTED or 204 NO CONTENT; response null or empty.
var location = xhr.getResponseHeader( 'Location' ) || model.id;
return $.ajax( {
url: location + "?" + "username=" + window.app.settings.credentials.username + "&api_key=" + window.app.settings.credentials.api_key,
success: dfd.resolve,
error: dfd.reject,
});
}