Gibt es eine Möglichkeit zu entfernen, Ajax Header set von setRequestHeader()?

Ich Schreibe ein JS-Skript, das lebt in einem system, das ist jetzt das hinzufügen eines benutzerdefinierten XID-header, um alle Ajax-Anfragen, die über jqXHR.setRequestHeader() in eine Funktion registriert mit jQuery.ajaxPrefilter().

In meinem script, die ich brauche, um eine Ajax-Anfrage zu einer Website Dritter, deren Zugang-Control-Allow-Header ist nicht so eingerichtet, dass dieser Brauch XID-header.

Es scheint, habe ich 3 Optionen:

  1. Einen Weg finden, zu entfernen, XID-header in $.ajax()'s beforeSend Funktion, die ich bestätigt haben, wird aufgerufen, nachdem die ajaxPrefilter () - Funktion.
  2. Verzichten auf die Verwendung von $.ajax() vollständig aus und schreiben Sie einfach den Ajax-Zeug mich.
  3. $.ajax() auf system-backend, die nicht akzeptieren die benutzerdefinierte XID-header, und führen Sie die Anfrage auf die Website Dritter, über cURL.

Option #1 ist am günstigsten, wenn es einen einfachen Weg, es zu tun, da es die sauberste und Schnellste route. Kann einfach nicht herausfinden, wie.

Ich habe versucht, überschreiben, wie diese, aber es hat nicht funktioniert:

beforeSend: function(jqXHR, settings) {
    jqXHR.setRequestHeader('custom-xid-header', null);
}

Irgendwelche Ideen?

InformationsquelleAutor der Frage Brandon Kelly | 2013-08-28

Schreibe einen Kommentar