簡體   English   中英

如何通過跨域 ajax 獲得響應 header?

[英]How can I get response header via cross-domain ajax?

我正在嘗試閱讀文檔,我必須承認這並不容易閱讀。 我沒有問題(在添加 Access-Control-Allow-Origin 標頭后)讀取 responseText,但除了 Firefox 之外的任何地方都無法獲得響應 header。

所以,我的問題是使用跨域 ajax 獲得響應 header 的正確方法是什么?

我嘗試使用( Access-Control-Expose-Headers ),但再次未能讀取 header。

因此,它應該工作的方式是在 Access-Control-Expose-Headers header 中指定您希望客戶端可以訪問的標頭。 例如,如果您的服務器設置了 Foo 響應 header,並且您希望客戶端能夠讀取它,您的服務器還應該發送以下 header:

Access-Control-Expose-Headers: Foo

在客戶端,您可以通過調用 xhr.getAllResponseHeaders() 來讀取所有響應標頭。 這會將響應標頭作為字符串返回,然后您可以使用以下代碼將其解析為 object: https://gist.github.com/7068

這是對事情應該如何運作的解釋。 但是,請注意,舊瀏覽器中存在一個錯誤,即無法在客戶端上讀取響應標頭。 有關詳細信息,請參見此處: CORS xmlhttprequest HEAD 方法

我有同樣的問題,並在 Chromium 郵件列表上找到了答案,這是在 webkit 中修復的,它將在 crhomium ~19 中實現。

我將嘗試找到主題並更新我的答案。

暫無
暫無

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

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