首頁 > web前端 > js教程 > 如何在 AJAX POST 請求中包含自訂標頭而不觸發飛行前檢查?

如何在 AJAX POST 請求中包含自訂標頭而不觸發飛行前檢查?

Susan Sarandon
發布: 2024-11-07 19:08:02
原創
538 人瀏覽過

How do I include custom headers in an AJAX POST request without triggering a pre-flight check?

門禁請求標頭:了解飛行前檢查

使用 jQuery 發出 AJAX POST 請求時,可以包含自訂標頭來控制請求的行為。然而,了解存取控制請求標頭 (CORS) 在跨來源請求中的作用至關重要。

預設情況下,jQuery 在跨來源請求前新增 OPTIONS 請求以啟動預檢檢查。此檢查可確保伺服器允許原始請求中包含的特定 HTTP 方法和標頭。在此飛行前檢查期間,jQuery 會自動將 Access-Control-Request-Headers 標頭新增至請求中,該標頭指定原始請求中存在的自訂標頭。

在提供的範例中:

請求參數包含兩個自訂標頭。啟動飛行前檢查時,瀏覽器會自動將請求標頭修改為以下內容:

這可確保伺服器知道要包含在實際 POST 請求中的自訂標頭。但是,自訂標頭本身並不存在於飛行前檢查請求中。

要將自訂標頭包含在實際的POST 請求中,您可以使用beforeSend 函數,如下所示:

在這種情況下,自訂標頭將直接包含在POST 請求中,而不會觸發飛行前檢查。請注意,對於跨來源請求,伺服器必須在其 Access-Control-Allow-Headers 回應標頭中明確允許指定的標頭。

以上是如何在 AJAX POST 請求中包含自訂標頭而不觸發飛行前檢查?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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