如何使用json将变量从php文件传递给ajax?

时间:2013-11-27 12:59:36

标签: php ajax

我似乎无法将变量变为ajax成功函数。 (只有一个变量,仅此而已)

JAVASCRIPT

var last_msg_id = $(this).attr("id");

$.ajax({//Make the Ajax Request
type: "POST",
url: "moredivid.php",
datatype: 'json',
data: "lastmsg="+ last_msg_id, 
success: function(data){//html = the server response html code
$('a.load_more').attr('id',data.msg_id);//Loading id during the Ajax Request
}
});

PHP

    if(isset($_POST['lastmsg']))
{
$lastmsg=$_POST['lastmsg'];
$msg_id="blah";
$msg_id=array("msg_id" => $msg_id);
echo json_encode($msg_id);
}

当我仅输出(警告)'data'而不是'data.msg_id'时,我得到{“msg_id”:“blah”}并且div id变为

id="{"msg_id":"blah"}".

前面有空间。  data.msg_id的输出给出了undefined。

2 个答案:

答案 0 :(得分:1)

您只需键入错误的属性。只需从

更改
url: "moredivid.php",
datatype: 'json',
data: "lastmsg="+ last_msg_id, 

url: "moredivid.php",
dataType: 'json',
data: "lastmsg="+ last_msg_id, 

答案 1 :(得分:0)

在PHP脚本中,您可以使用标头设置为JSON(如果您对每次使用dataType参数不感兴趣):

header('Content-Type: application/json');

JQuery将在Ajax请求期间自动获取此标头。