我在localhost上遇到$.getJSON()
的奇怪问题。我的测试代码如下:
$(document).ready(function(){
var url = "http://script.mydomain.com/location/newid"
var url2 = "http://localhost/cms/location/newid"
$.getJSON(url2, function(id) {
alert(id);
});
});
对于url2,它工作得很完美但是对于url它不起作用。任何人都可以提供一些解决这个问题的提示吗?如果有人想知道,这些网址会返回json(例如:“34”)。
编辑[求助]:
如果将来有人使用$.getJSON
,请记住您不能称之为“外星人”域名。
当我在script.mydomain.com
域下执行开销脚本时,一切正常!
答案 0 :(得分:6)
AJAX请求受跨域策略的限制。基本上,如果他们没有访问原始站点所在的服务器,则无法执行ajax请求。它稍微复杂一点,但我认为情况就是这样。
答案 1 :(得分:1)
您受到浏览器安全性的限制,无法从您自己的网站获取代码(jquery使用XMLHttpRequest获取getJSON)。要绕过它,您需要使用jsonp(jquery添加脚本标记)或为您的文档创建并附加脚本标记。
答案 2 :(得分:1)
您可能遇到的问题是您尝试在浏览器中运行ajax-request,从本地主机到域cw.uppercut.pl。
这不是图书馆的问题。