【发布时间】:2011-08-10 19:39:58
【问题描述】:
我有以下代码sn-p:
$.getJSON("http://localhost:8080/images",
function(data) {
var items = [];
$.each(data, function(key, val){
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
url 返回类似于{"count" : 0} 的json。当我尝试在浏览器中加载页面时,.getJSON 调用失败。但是,当我将结果从“http://localhost:8080/images”保存到文件并尝试使用相同的 Javascript(url 替换为文件名)加载它时,一切都按预期工作,我得到了一个列表。
任何指针?
【问题讨论】:
-
运行脚本的端口和主机是否与
http://localhost:8080/images的端口和主机匹配? -
webkit/firebug 告诉你什么从服务器返回? json 的 url 是否违反了同源策略?
-
是的,浏览器和服务(在 8080 上)都在本地主机上运行。我可以看到请求进来,服务用 {"count" : 0} 回答。当我直接在浏览器中输入 url 时也可见。