JSON返回值

时间:2012-12-19 03:47:36

标签: php jquery json

目前我遇到从PHP返回一些值到jQuery的问题 - 不知道该怎么做

$(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.'}';
?>

我想将name变量值从PHP返回到jQuery,status = 1表示成功,但我仍然没有运气。

2 个答案:

答案 0 :(得分:5)

JSON语法非常严格。

但是,在您的情况下,由于您甚至没有指定属性名称而导致失败,因此您只有一个没有引号的裸值。

只需使用json_encode,它就会为您处理所有边缘情况。

答案 1 :(得分:1)

您确定要返回有效的json字符串吗?

从这条指令:

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

假设$ name是一个普通字符串,例如“hello”,你将返回这个json字符串:

{“status”:1,hello}

这是无效的。