2012-08-03 46 views
1

我有這個簡單的Ajax代碼,我的問題是唯一的,是什麼data.logged回報,我需要在logged.php文件是什麼?阿賈克斯簡單的登錄

我是新來的ajax ,比較遺憾的是愚蠢的問題...

$.ajax('logged.php', { 
           data: { 
            login: login, 
            pass: pass 
           }, 
           success: function(data) 
           { 
            if (data.logged) 
            { 
             setTimeout(function() { 
              document.location.href = 'index.php' 
             }, 2000); 
            } 
            else 
            { 
             setTimeout(function() { 
             formLogin.clearMessages(); 
             displayError('Utilizador ou password errados'); 
             }, 2000); 
            } 
           }, 
           error: function() 
           { 
            formLogin.clearMessages(); 
            displayError('Error while contacting server, please try again'); 
           } 
         }); 

回答

2

在客戶端,添加dataType : 'json'爲我工作。

$.ajax('handler.php', { 
    data: { 
    login: login, 
    pass: pass 
    }, 
    dataType : 'json', 
    success: function(data) 
    { 
    //code here 
    } 

    //more code here 
} 

,然後在服務器端:

在php
$user = $_GET['login']; 
$pass = $_GET['pass']; 
$result = array(); 
if(/* login logic here */) { 
    $result['logged'] = 'true'; 
} else { 
    $result['logged'] = false; 
} 
header('Content-type: application/json'); 
echo json_encode($result); 
0

這是一個jQuery AJAX請求將在JSON格式期待的responseText。在這種情況下,PHP文件返回的JSON似乎只需要一個屬性logged,根據登錄是否成功,該屬性將爲truefalse

+0

所以才需要有someething這樣嗎?返回json_encode(「true」); – nunong21 2012-08-03 12:03:17

+0

@ nunong21我不是PHP開發人員,所以我真的不能說。這看起來並不像它會知道的那樣調用「logged」屬性。 – 2012-08-03 12:04:43

+0

那麼你有什麼建議做一個簡單的登錄? :) – nunong21 2012-08-03 12:05:36