我刚开始学习JSON来自其他网站的教程使用此代码(我已经修改,以简化此):
$(document).ready(function(){
$('#getdata-button').click(function(){
$.ajax({
type: "GET",
url: "json-data.php",
dataType: "json",
success: function(){
alert('a');
$('#showdata').html(
"<p>item1="+data.item1+
" item2="+data.item2+
" item3="+data.item3+"</p>"
);
}
});
});
});
这是代码JSON-data.php
<?php
$item1 = "candy";
$item2 = "chocolate";
$item3 = "ice cream";
//return in JSON format
echo "{";
echo "item1: ", json_encode($item1), "\n";
echo "item2: ", json_encode($item2), "\n";
echo "item3: ", json_encode($item3), "\n";
echo "}";
?>
的问题是,我已经点击了按钮(带“的GetData按钮”的ID)后(用于调试)提示功能不会响应。 Firebug说这个请求是成功的,我可以从那里看到数据。没有发现错误。这只是回调函数没有执行,但为什么?
你的JSON无效。键和字符串值必须用双引号括起来,'json_encode()'不能用于JSON字符串中,它意味着输出一个完整的JSON字符串。 – 2013-05-03 15:39:38
Gah!不要这样做!你应该在PHP中构建一个数组,然后只是'echo json_encode($ array)' – Bojangles 2013-05-03 15:41:19
我觉得http://jsonlint.com非常有帮助。你也应该利用ajax的“错误”回调。 http://www.json.org也适用于理论和语法。 – dgig 2013-05-03 15:42:34