Wie kann Backbone.sync überschrieben werden, damit der Apikey und der Benutzername am Ende hinzugefügt werden?

Ich benutze Backbone-Tastypie, aber es fällt mir am schwersten, es richtig zum Laufen zu bringen. In Tastypie verwende ich ApiKeyAuthentication für meine Ressourcen. Daher muss ich bei jeder Ajax-Anfrage den Apikey und den Benutzernamen an das Ende einer Anfrage anhängen oder zusätzliche Header senden, die den Benutzernamen und den Api-Schlüssel ergänzen.

Ich versuche, eine Ansicht und ihr Modell mithilfe des Backbones mit dem folgenden Code zu entfernen:

// 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");
  }});
},

Nachdem die Funktion ausgeführt wurde, versucht der Browser, eine GET-Anforderung unter der folgenden URL auszuführen:

:8000/api/v1/update/2/

Es enthält weder den api_key noch den Benutzernamen am Ende und einen abschließenden Schrägstrich am Ende der URL. Ich denke, es wird versucht, Backbone.oldSync zu verwenden, um die GET-Anforderung auszuführen. Wie würde ich es machen, damit die Synchronisierung den Benutzernamen / API-Schlüssel am Ende enthält und den abschließenden Schrägstrich entfernt?

Bei allen anderen Anfragen habe ich dafür gesorgt, dass der API-Schlüssel und der Benutzername an das Ende der http-Anfrage angehängt werden, indem der Backbone-Tastypie der folgende Code hinzugefügt wird:

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,
    });
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage