2012-12-06 61 views
2

我正在登錄到我的iCloud帳戶,我想知道他們如何在不重新加載頁面的情況下登錄我。據我所知,jQuery不可能執行任何PHP腳本,也不可能在頁面加載後創建會話。我相信它可能使用了一些cookies或其他東西,但我仍然不明白他們如何讓php在登錄後不重新加載頁面的情況下獲取這些cookie。AJAX登錄無需重新加載頁面

+2

所有這些事情都可能通過簡單地發送一個ajax請求。 –

+0

好的..我知道ajax可以返回數據,但我該如何區分這些數據?我的意思是..我可以檢查'if(data =='1'){success:function()'但我怎麼分開名字,電子郵件,用戶名等? – Dimser

+2

使用'echo json_encode(這裏是你的數據數組)'把它作爲json數據發送回來,並將'$ .ajax'中的數據類型設置爲''json'',然後你可以在成功回調中訪問這個數據作爲第一個參數'成功:函數(數據){console.log(數據)}' –

回答

1

使用

echo json_encode(your array of data here) 

發回的JSON數據和$.ajax數據類型設置爲"json",你就可以訪問數據作爲成功回調中的第一個參數

success: function(data) { 
    console.log(data); 
} 
0

它由瀏覽器照顧。

瀏覽器會自動發送特定於您的應用程序的所有cookie到服務器,然後服務器決定它們的有效性。這些信息通過http請求的頭部傳遞。所以,如果cookie是有效的服務器將恢復您的會話信息,因此將記錄你進來

+0

這沒有任何意義......服務器不驗證用戶的狀態...... html是無狀態的。 –

+0

是什麼讓你這麼認爲...和btw http是無狀態的,而不是HTML。 –

+0

更正接受:: [HTTP](http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol)但是,瀏覽器不會自動'添加用戶身份驗證Cookie'...該功能必須由開發人員實施 –

相關問題