从网址加载json失败,从文件加载

时间:2011-08-10 19:39:59

标签: jquery json

我有以下代码段:

    $.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)加载它时,一切都按预期工作,我得到一个列表。

任何指针?

1 个答案:

答案 0 :(得分:2)

你可能正在进入Same Origin Policy。在正常情况下,您只能使用“ajax”(即真正的XMLHttpRequest调用)从与运行脚本的文档相同的 origin 中检索资源。 Origin包括域,端口和协议。只有当文档本身从本地文件(而不是http URL)加载时,才能从本地文件加载它。有关详细信息,请参阅链接。