2012-12-19 74 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,你好}

这是无效的。