2013-07-14 77 views
2

在Windows 8 Metro應用,如果我發送一個winjs.xhr(AJAX)請求http://abc.com 和該域的反應是自動重定向302到http://xyz.com禁用WinJs.xhr自動重定向當302狀態碼打

然後winjs自動跟隨重定向,並帶有xyz.com(第二域)的結果,我想停止行爲並閱讀我在重定向之前從請求獲得的響應。

+0

這可能無法使用WinJS.xhr()。這裏是關於這個問題的文章:http://www.codeproject.com/Articles/434170/Handling-HTTP-302-Responses-in-WinRT –

+0

截至目前我正在使用這個http://www.codeproject.com /文章/ 432892/Adventures-in-Windows-8-HTTP-Post-Helper-WinRT-Com –

回答

0

WinJs.xhr是XMLHttpRequest的簡單包裝,需要符合W3C標準 (https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#infrastructure-for-the-send%28%29-method),並根據它重定向是透明的。

如果響應是一個HTTP重定向:

如果Location頭傳達的URL的起源是相同的起源 與XMLHttpRequest的起源和 重定向不違反無限 環注意事項,透明 遵循重定向,同時觀察 同源請求事件規則。

在Win 8.1 MS推出Windows.Web.Http.HttpClient也可用於WinJS,其中有更多的配置選項,這樣可能是你的解決方案。

+0

Yaa自己看到windows 8.1 API幾天,計劃使用「HttpClient」 –

+0

我看到了,希望它能解決你的問題 –