我做出了PHP腳本Ajax調用,這表明由用戶輸入的信息是否有效,他將被授權登錄。 的事情是我真的不知道有關的會話變量。該PHP腳本可以保存會話ID變量,並將其傳遞到下一個PHP頁面,其中jquery會在成功的Ajax調用時重定向到我? 或者PHP會自動使用標題位置重定向我? 我希望我明確自己。這是一個理論問題。請問PHP或jQuery的重定向我?阿賈克斯登錄
0
A
回答
1
你會設置在會話中的用戶ID,並返回一個「成功」的狀態回到阿賈克斯。阿賈克斯成功回調會檢查返回的數據,以確定是否登錄成功,並採取相應的行動(例如,重定向到一個登錄網頁)
0
在理論上可以做到這一點無論哪種方式,但沒有看到您的實際代碼,很難給出明確的答案。
如果您使用jQuery來調用您的auth PHP腳本並在該PHP腳本中設置會話,那麼您可能會使用JS(Ajax)重定向到成功的「受保護」區域(從PHP返回會話開始的腳本)。
1
你不能在此情況下用PHP重定向,因爲標頭不以HTTP響應返回。 你可以在響應中設置一個變量,返回你的PHP進程的狀態。 像
data = array(
"connect"=>true
);
或
data = array(
"connect"=>false,
"errors"=>"There is an error in your request"
);
然後在success:
功能,您可以檢查變量是真還是假,如果你需要重定向。
success: function(response){
if(response.connect){
//succeded
}else{
//not succeded
}
希望有幫助。乾杯!
1
我從@Mijail不同意時,他說
你不能在此情況下用PHP重定向,因爲標頭不以HTTP響應返回。
使用jQuery(或純XHR),你可以驗證,如果你得到了與響應狀態(的3XX一個),然後重定向使用來自xhr
對象getResponseHeader
方法來獲得'location'
頭看到這裏你應該重定向:
success: function(data, textStatus, xhr) {
if(xhr.status > 300 && xhr.status < 400) {
document.location.href = xhr.getResponseHeader('location') || '/';
}
}
這是做什麼的,當你不希望複製在客戶端上的重定向規則也以正確的方式。
相關問題
- 1. 阿賈克斯聊天 - 登錄問題
- 2. 阿賈克斯PHP的jQuery
- 3. 隊阿賈克斯.fail()來管理登錄重定向
- 4. jQuery的阿賈克斯PHP重定向到另一頁
- 5. jquery阿賈克斯問題
- 6. jquery阿賈克斯問題
- 7. jquery阿賈克斯問題
- 8. HTML重定向與阿賈克斯
- 9. 鐵軌阿賈克斯重定向
- 10. 阿賈克斯簡單的登錄
- 11. 阿賈克斯登錄Rails的
- 12. 確定哪些jQuery的阿賈克斯()解析重定向到
- 13. 春季安全阿賈克斯登錄
- 14. 阿賈克斯登錄任何網站
- 15. 阿賈克斯/ jQuery的重定向調用不會從我的PHP工作
- 16. jQuery的阿賈克斯搜索請求
- 17. 純JS阿賈克斯jQuery的阿賈克斯
- 18. 從正規阿賈克斯jQuery的阿賈克斯
- 19. 阿賈克斯請求重定向網站
- 20. PHP的mysqli阿賈克斯jQuery的
- 21. jQuery的或阿賈克斯下拉DIV
- 22. 阿賈克斯jQuery的重定向不工作
- 23. 的jQuery(阿賈克斯)重定向到另一個域
- 24. PHP:僅迴應阿賈克斯請求
- 25. jQuery的阿賈克斯URL
- 26. jQuery的 - 與阿賈克斯
- 27. 與阿賈克斯jQuery的
- 28. URL jQuery的阿賈克斯
- 29. 從阿賈克斯jQuery的
- 30. jQuery的不阿賈克斯
你的AJAX請求將被重定向到新的位置,因爲它會跟着'302'或'301'狀態從PHP代碼的'地點:'頭。用戶不會看到這一點。 – Brad