我執行註銷功能的web應用程序。我有一個函數,當用戶點擊註銷按鈕時會調用它。302重定向與AJAX POST請求:
$.post(window.location.pathname + '/logout');
註銷服務只適用於發佈。
會發生什麼事是:http://myapp.com/logout.html
- 的302個狀態。
- GET請求返回正確的HTML,但它返回它的AJAX風格,重定向網頁不被瀏覽器
裝,我想什麼發生的是:
- 的302個狀態與預期的位置返回:http://myapp.com/logout.html
- 瀏覽器重定向到指定位置
這不能完成,[按照規範(http://www.w3.org/TR/XMLHttpRequest/#infrastructure-for-the-send() - 方法):「如果響應的HTTP狀態碼爲「302」:1)將請求URL設置爲由「位置」標頭傳送的URL 2)... *透明*遵循重定向...「規範不允許客戶端腳本觀察重定向已經發生。 - 無論如何,你爲什麼期望Ajax請求*重定向頁面?如果你有'200 OK'的迴應,你不會指望頁面導航到那個Ajax響應,對吧? – apsillers
謝謝你爲我澄清這個問題,我懷疑這是原因。 – jakee