我似乎无法将变量变为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。
答案 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请求期间自动获取此标头。