使用 jQuery 發出 AJAX POST 請求時,可以包含自訂標頭來控制請求的行為。然而,了解存取控制請求標頭 (CORS) 在跨來源請求中的作用至關重要。
預設情況下,jQuery 在跨來源請求前新增 OPTIONS 請求以啟動預檢檢查。此檢查可確保伺服器允許原始請求中包含的特定 HTTP 方法和標頭。在此飛行前檢查期間,jQuery 會自動將 Access-Control-Request-Headers 標頭新增至請求中,該標頭指定原始請求中存在的自訂標頭。
在提供的範例中:
請求參數包含兩個自訂標頭。啟動飛行前檢查時,瀏覽器會自動將請求標頭修改為以下內容:
這可確保伺服器知道要包含在實際 POST 請求中的自訂標頭。但是,自訂標頭本身並不存在於飛行前檢查請求中。
要將自訂標頭包含在實際的POST 請求中,您可以使用beforeSend 函數,如下所示:
在這種情況下,自訂標頭將直接包含在POST 請求中,而不會觸發飛行前檢查。請注意,對於跨來源請求,伺服器必須在其 Access-Control-Allow-Headers 回應標頭中明確允許指定的標頭。
以上是如何在 AJAX POST 請求中包含自訂標頭而不觸發飛行前檢查?的詳細內容。更多資訊請關注PHP中文網其他相關文章!