2012-10-26 38 views
0

在這個我的代碼data是未定義爲什麼? 我無法訪問data.message。未定義變量在jquery ajax

$.post("actions.php", {name_madan: madan , postaction:'sabte_madan' }, 
    function(data){ 
    if (data.success) 
      alert(data.message); 
    }); 

actions.php

case 'sabte_madan': 
    $query="SELECT * from maadan WHERE name_madan='{$_POST['name_madan']}'"; 
    $result=$db->loadAssoc($db->setQuery($query)); 
    if (!$result) 
    {   
    $data['success']=true; $data['message']='ok'; 
    } 
    else $data['success']=false; $data['message']='no';    

break; 

if (isset ($data)) echo json_encode($data); 
+2

看起來像'$ data'只被當'!$ result'設置。你是否缺少'if'語句的'else'部分? – JoeFletch

+1

您需要在'$ .post'中添加','json''來告訴jQuery將其解析爲JSON。 –

+0

可能是這可以幫助 'if(!$ result) { $ data ['success'] = false; $ data ['message'] ='ok'; } else { $ data ['success'] = true; }' – Jashwant

回答

1

你錯過了 'JSON' 數據類型

$.post("actions.php", {name_madan: madan , postaction:'sabte_madan' }, 
    function(data){ 
     if (data.success) 
      alert(data.message); 
    },'json');