Heim > Web-Frontend > js-Tutorial > Wie sende ich benutzerdefinierte Header in AJAX-POST-Anfragen mit jQuery?

Wie sende ich benutzerdefinierte Header in AJAX-POST-Anfragen mit jQuery?

Patricia Arquette
Freigeben: 2024-11-05 11:45:02
Original
976 Leute haben es durchsucht

How to Send Custom Headers in AJAX POST Requests with jQuery?

Benutzerdefinierte Header in AJAX POST-Anfragen mit jQuery

In mit jQuery initiierten AJAX POST-Anfragen ist es möglich, benutzerdefinierte Header einzuschließen. Der Mechanismus zum Hinzufügen von Headern unterscheidet sich jedoch vom typischen Ansatz.

Wenn Sie Header wie im Beispiel gezeigt angeben:

$.ajax({
    type: 'POST',
    url: url,
    headers: {
        "My-First-Header":"first value",
        "My-Second-Header":"second value"
    }
}).done(function(data) {
    alert(data);
});
Nach dem Login kopieren

Verständlicherweise würden Sie erwarten, dass die Header wie folgt gesendet werden:

My-First-Header: first value
My-Second-Header: second value
Nach dem Login kopieren

Sicherheitsmaßnahmen des Browsers verhindern jedoch, dass die benutzerdefinierten Header-Werte direkt in der ersten Anfrage gesendet werden. Stattdessen werden sie im Header „Access-Control-Request-Headers“ platziert. Dies ist ein Sicherheitsmechanismus, der als Preflight-Anfrage bekannt ist.

Damit die nachfolgende Anfrage die tatsächlichen Header-Werte enthalten kann, muss der Server die erforderlichen CORS-Header (Cross-Origin Resource Sharing) konfigurieren.

Eine Lösung hierfür besteht darin, die Header auf eine andere Art und Weise zu senden, wie im angegebenen Beispielcode gezeigt:

$.ajax({
  type: "POST",
  beforeSend: function(request) {
    request.setRequestHeader("Authority", authorizationToken);
  },
  url: "entities",
  data: "json=" + escape(JSON.stringify(createRequestObject)),
  processData: false,
  success: function(msg) {
    $("#results").append("The result =" + StringifyPretty(msg));
  }
});
Nach dem Login kopieren

Dieser Ansatz legt die Anforderungsheaderwerte tatsächlich direkt fest und umgeht den Zugriff. Platzierung von Control-Request-Headern. Es bietet eine Möglichkeit, benutzerdefinierte Header mit der ersten Anfrage zu senden, ohne dass eine Serverkonfiguration erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie sende ich benutzerdefinierte Header in AJAX-POST-Anfragen mit jQuery?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage