我使用getJson时出错。

时间:2013-08-23 02:23:17

标签: javascript jquery html json

我写了一个javascript代码来从网址获取Json对象。我的代码是这样的:

<script>

$(document).ready(function(){

  $("button").click(function(){
    $.getJSON('url_address', {}, function(data) {
        // do something
    });
  });
  });

});

</script>

我正在使用Google Chrome浏览器。如果我只是在浏览器中输入网址,我可以正确获取json数据。

但是当我调试这段代码时,我收到一条错误消息:

XMLHttpRequest无法加载'url_address'。 Access-Control-Allow-Origin不允许使用null。

我不知道它有什么问题。

1 个答案:

答案 0 :(得分:0)

这是因为same origin policy阻止浏览器向位于不同域的资源发出ajax请求。

有两种可能的解决方法,取决于资源服务器支持

JSONP:不是发出ajax请求,而是像javascript函数调用一样加载资源。

$.getJSON('url_address?callback=?', {}, function(data) {
    // do something
});

CORS