2013-02-28 54 views
0
mainpage.php, 
loginModal.php, 
signInvalidate.php 

我有一個頁面上有一個按鈕,當點擊一個模式對話框彈出,模態的含量是使用jQuery .load其他頁面(loginModal.php) ,所以現在的模式內容是一個登錄表單,它使用將信息發送到signInvalidate.php的jquery ajax進行驗證。我在驗證時沒有問題,如果它是錯誤,它仍然會返回錯誤,但如果它是正確的信息,我想重新加載主頁面。我將如何做到這一點?或者Jquery .load接受返回TRUE值。jQuery的:刷新網主頁使用其他頁面返回值

例如

signInvalidate.php

$result = $userFunction->checkLogin($useremail, @$password, @$remember, $gotUrl); 

if($result == TRUE){ 

    return TRUE; 

} 

loginModal.php

success: function(msg){ 

    if(msg == TRUE){ 

     return true; 

    }else{ 

     $("#signInOutput").html(msg); 

    } 

} 

mainpage.php

$('#previewOutput').load('modalLogin.php', function(){       


}); 

回答

0

你應該返回具有已知密鑰的JSON對象(例如status)和值(例如success),您可以檢查。

在PHP端,你可以使用(假設5.2+),而不是return TRUE

print json_encode(array('status' => 'success')); 

,如果你需要返回,而不是打印,很顯然你應該改變這種狀況。對事物的JavaScript端,你只是JSON解碼這一點,處理它:

success: function(data) { 
    var state = $.parseJSON(data); 
    if(state.status == 'success') { 
    window.reload(); 
    } 

} 

我以爲上面會需要一些修修補補,但它應該作爲一個良好的基礎。

編輯:固定代碼。

+0

好的。感謝您的想法,我會嘗試,但我必須先學習JSON。 。現在還不知道。 – Jopay 2013-02-28 09:11:30

+0

認爲JSON是一種非常輕量級的XML版本(缺少大多數人從不使用的XML的某些功能,而不是冗長的)。在上面的例子中,你正在編碼一個關聯數組,所以將要發送的JSON是'{「status」:「success」}'(一個對象)。 – hexblot 2013-02-28 09:16:24