首頁 > web前端 > js教程 > 如何使用 jQuery 在 AJAX POST 請求中發送自訂標頭?

如何使用 jQuery 在 AJAX POST 請求中發送自訂標頭?

Patricia Arquette
發布: 2024-11-05 11:45:02
原創
974 人瀏覽過

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

使用jQuery 的AJAX POST 請求中的自訂標頭

在使用jQuery 發起的AJAX POST 請求中,可以包含自訂標頭。但是,添加標頭的機制與典型方法不同。

當您按範例所示指定標頭時:

$.ajax({
    type: 'POST',
    url: url,
    headers: {
        "My-First-Header":"first value",
        "My-Second-Header":"second value"
    }
}).done(function(data) {
    alert(data);
});
登入後複製

可以理解,您會期望標頭發送為:

My-First-Header: first value
My-Second-Header: second value
登入後複製

但是,瀏覽器安全措施會阻止直接在初始請求中發送自訂標頭值。相反,它們被放置在 Access-Control-Request-Headers 標頭中。這是一種稱為預檢請求的安全機制。

為了允許後續請求包含實際的標頭值,伺服器必須配置必要的 CORS(跨來源資源共用)標頭。

解決此問題的方法是以不同的方式發送標頭,如給定的範例程式碼所示:

$.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));
  }
});
登入後複製

這種方法實際上直接設定請求標頭值,繞過Access-控制請求標頭放置。它提供了一種在初始請求中發送自訂標頭的方法,無需伺服器配置。

以上是如何使用 jQuery 在 AJAX POST 請求中發送自訂標頭?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板