簡體   English   中英

CORS響應標頭如何阻止瀏覽器JavaScript訪問響應對象?

[英]How do CORS response headers prevent browser javascript to access response object?

因此,我在apache服務器上使用傳統的cgi腳本運行兩個應用程序foo.com和bar.com。 我從foo到bar發出AJAX請求。 該請求被禁止執行,但是由於apache服務器未添加任何CORS標頭,因此瀏覽器表示請求失敗。

MDN上的CORS文檔解釋說,瀏覽器Javascript不知道失敗的細節,它只知道響應失敗。

我的問題是,響應對象是否包含我的cgi腳本返回的響應,並且瀏覽器只是選擇將其顯示為錯誤,因為它找不到Access-Control-Allow-Origin標頭?

從我對響應對象的檢查來看,似乎apache服務器根本沒有從cgi腳本的輸出發送響應。

目前尚不清楚,誰負責在此處包含響應:

  • 是apache服務器嗎

  • 是fetch / XMLHTTP API

注意:我使用jquery進行AJAX調用

CORS響應標頭如何阻止瀏覽器JavaScript訪問響應對象?

他們沒有。 您的JS無法訪問響應數據是默認行為。 CORS標頭可以授予默認情況下將被拒絕的權限。

相同來源策略是由瀏覽器實現的。 服務器對此一無所知(除了可能被明確配置為在響應中發送CORS標頭之外)。

瀏覽器接收HTTP響應,確定未授予許可,並生成一個響應對象,說明該對象提供給JavaScript程序的程度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM