2012-12-19 99 views
3

目前我有返回從PHP一些值jQuery的問題 - 不知道該怎麼辦呢JSON返回值

$(document).ready(function(){ 
    $('#testForm').submit(function(e){ 
    $.post('submit.php',$(this).serialize(),function(msg){ 

     $('#submit').val('Submit'); 

     if(msg.status){ 
      $('#testForm').html(msg); 
     } 
     else { 
      $('#testForm').html("fail"); 
     } 
    },'json'); 

}); 

}); 

<?php 
$name = $_POST['name']; 
$email = $_POST['email']; 

//echo json_encode(array('status'=>1,'html'=>$name." : ".$email)); 
echo '{"status":1,'.$name.'}'; 
?> 

我想從PHP返回name變量值jQuery的一次status = 1意味着成功,但我仍然沒有這樣做的運氣。

+0

爲什麼你不使用註釋行? –

+0

它有一個名字上的特殊字符試試htmlentities($ name) – Kotzilla

+0

'echo'{「status」:1,name:「'。$ name。'」}';'試試這個 –

回答

5

JSON的語法非常嚴格。

然而,在你的情況下,你失敗了,因爲你甚至沒有指定一個屬性名稱,你只是沒有引號的價值。

只需使用json_encode,它將爲您處理所有邊緣情況。

+0

語法看起來像json_encode如果我想設置狀態1/0與數據返回從PHP到jQuery? – user1897151

+0

說真的,只需使用'json_encode',不用擔心。 –

1

您確定要返回有效的json字符串嗎?

從這個指令:

echo '{"status":1,'.$name.'}'; 

假設$ name是一個簡單的字符串,例如 「你好」,你將返回該JSON字符串:

{ 「地位」:1,你好}

這是無效的。