我制作了解析JSON对象的php文件。这是php的结果示例:
{"ID":"951","NameOfEvent":"\u05dc\u05d9\u05d9\u05df \u05d4\u05e7\u05e8\u05d9\u05d5\u05e7\u05d9 \u05d1\u05e9\u05dc\u05d9\u05e9\u05d9","Plan":"\u05d4\u05d2\u05d5\u05e8\u05df - \u05dc\u05d9\u05d9\u05df \u05d4\u05e7\u05e8\u05d9\u05d5\u05e7\u05d9 \u05d1\u05e9\u05dc\u05d9\u05e9\u05d9 @ \u05d4\u05d2\u05d5\u05e8\u05df.\r\n\r\n\u05de\u05d5\u05e2\u05d3\u05d5\u05df \u05d4\u05d2\u05d5\u05e8\u05df \u05e9\u05d5\u05db\u05df \u05d1\u05e7\u05d9\u05d1\u05d5\u05e5 \u05de\u05e8\u05d7\u05d1\u05d9\u05d4 \u05e9\u05d1\u05e2\u05de\u05e7 \u05d9\u05d6\u05e8\u05e2\u05d0\u05dc.","Avg":"0","Views":"23"}
我尝试使用以下jquery代码获取数据:
function gettopevents()
{
$.getJSON("jsontopevents.php", function(json) {
alert(json.NameOfEvent);
});
}
我通过使用带onclick事件的按钮调用该函数。
我不知道我的功能有什么问题...我使用相同的功能从facebook图表中读取数据并且它有效..
编辑:奇怪的事情 - 它适用于IE但不适用于FF和Chrome
感谢。
答案 0 :(得分:3)
你引用的内容有效:http://jsbin.com/iwumu4在Windows上的IE6,IE7,IE8,Chrome 9,Firefox 3.6,Safari 5和Opera 11中尝试过它; Linux上的Chrome 9,Firefox 3.6和Opera 11。
这表明问题出在代码的其他地方。最好的办法是使用调试器。 Chrome,Safari,Opera和IE8都有内置调试器。您可以获得Firefox的Firebug,VS.Net将在IE6和IE7上调试JavaScript。在调试器中,首先查看控制台,以查看是否报告了任何错误。如果没有,请在$.getJSON
调用和alert
上设置断点,然后检查数据。
更新:(在下面的注释之后。)啊,听起来像是一个缓存问题。我应该想到这一点。由于getJSON
使用GET
,因此您必须注意缓存。
getJSON
只是ajax
的包装,因此您可以使用
$.ajax({
url: "jsontopevents.php",
cache: false,
dataType: 'json',
success: function(json) {
alert(json.NameOfEvent);
}
});
注意cache
参数。有关详细信息,请参阅ajax
文档。