„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie sende ich benutzerdefinierte Header in AJAX-POST-Anfragen mit jQuery?

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

Veröffentlicht am 13.11.2024
Durchsuche:784

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

Benutzerdefinierte Header in AJAX POST-Anfragen mit jQuery

In AJAX POST-Anfragen, die mit jQuery initiiert wurden, 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);
});

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

My-First-Header: first value
My-Second-Header: second value

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

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

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3