我尝试从一台服务器获取 URL,并使用该 URL 获取另一台服务器的内容。
$.ajax({url : 'http://localhost:8080/geturl.jsp?A=1&B=2,C=3',
success : function (data)
{
alert(data);
$.getJSON(data, function (mydata)
{
alert(mydata);
});
},
error : function (data, status, xhr)
{
}
});
我知道我们无法通过ajax调用进行跨域请求,这就是我使用getJSON的原因,我有以下问题
- 当我只是将数据传递到 getJSON 的 url 部分(如代码所示)时,警报框显示正确的 URL,但没有执行任何 get 请求(get 请求是从 FireBug 监控的)。
- 当将数据硬编码为“http://www.google.com”时,正在执行 get 请求,但没有响应,尽管有响应 header 且响应代码为 200(但它是在 Firebug 中标记为红色(不知道为什么:( )
- 当我尝试获取本地主机域中的网页主机时,尽管响应不是 JSON,但它会正确获取。
我有以下疑问
- 如果 getJSON 函数仅接受 JSON 对象作为响应,那么为什么执行上述 3 时没有出现错误。
- 执行所需功能的正确代码是什么。
- 对每种情况发生的情况提出建议
提前感谢您的回答:)
最佳答案
getJSON
函数只能跨域使用来获取 JSONP .
它不会神奇地规避任何安全限制。
关于javascript - jQuery $.getJSON 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6253859/