正在学习jQuery和getJSON,但存在问题
我正在努力学习jQuery(现在是getJSON),但我的日子不好过。我已经搜索了一遍又一遍,似乎不明白为什么这不起作用 JSON:正在学习jQuery和getJSON,但存在问题,jquery,json,getjson,Jquery,Json,Getjson,我正在努力学习jQuery(现在是getJSON),但我的日子不好过。我已经搜索了一遍又一遍,似乎不明白为什么这不起作用 JSON: { "id" : 1, "type" : "upload", "who" : "chris ", "action" : "uploaded a wallpaper entitled:
{
"id" : 1,
"type" : "upload",
"who" : "chris ",
"action" : "uploaded a wallpaper entitled: ",
"target" : "Blah blah blah",
"time" : "3 hours ago"
}
这是我的jQuery代码
$(document).ready(function(){
$('button').click(function() {
$.getJSON("/js/activity.json", function(data) {
$.each(data, function(key, value) {
console.log(key + " : " + value);
});
});
});
})
当然,HTML只是一个简单的
<button>Test</button>
测试
为什么它不向控制台输出任何内容?如果我在
.getJSON
之后放了一个警报,它不会触发,但是如果我在它之前放了一个警报,你可以尝试一些事情。在回调函数(getJSON调用中的回调函数)中,只需放置一个console.log(“test”);看看你是否在回叫。您还可以在Firebug的.Net面板或Chrome Inspector的网络面板中查看JSON调用,以确保它正确启动并返回您的文件。例如,可能是服务器不知道如何正确返回JSON文件
如果它工作正常(即路径正确,正在读取文件),那么只需尝试记录data-console.log(data),并确保它显示的是JSON。然后,您可以担心在键之间循环,您不需要该步骤来查看它是否正常工作。您的activity.json文件包含注释,请删除它们。注释不是JSON规范的一部分。您是否尝试在getJSON调用中使用完整的URL?此外,结尾可能缺少分号。访问控制不允许使用源地址允许使用源地址。这就是我使用完整URL(我现在在自己的live站点上这样做)时得到的基本信息:确保使用了正确的路径,
'/js/activity.json'
重定向到Web服务器的DocumentRoot,而不是相对于使用js的文件。如果您希望它是相对的,请在开始时删除/,例如'js/activity.json'
“js/activity.json”给出相同的结果(我在驱动器的根目录下运行它,因此/js/activity.json与js/activity.json相同)。此外,如果您使用Chrome,开发人员控制台(默认情况下为Ctrl+Shift+J)允许您记录请求,只需在窗口中单击鼠标右键并启用“LogXMLHttpRequests”。对于萤火虫来说可能也是如此,但不确定。