我写了一个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。
我不知道它有什么问题。
答案 0 :(得分:0)
这是因为same origin policy阻止浏览器向位于不同域的资源发出ajax请求。
有两种可能的解决方法,取决于资源服务器支持
JSONP:不是发出ajax请求,而是像javascript函数调用一样加载资源。
$.getJSON('url_address?callback=?', {}, function(data) {
// do something
});
CORS: