我是jquery的新手,不知道从另一个域(跨域)获取json数据。
function createCORSRequest(method, url){
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr){
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined"){
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
xhr = null;
}
return xhr;
}
var request = createCORSRequest("get", "http://www.stackoverflow.com/");
if (request){
request.onload = function() {
// ...
};
request.onreadystatechange = handler;
request.send();
}
我从这里找到了这个程序Ways to circumvent the same-origin policy
这就是说使用上面的代码我们可以访问跨域json数据。
我复制了代码。这是说处理程序是未定义的
我不知道如何定义处理程序。
我也不知道在request.onload中写什么
我将获得json结果
请帮忙
提前致谢
答案 0 :(得分:2)
处理程序是一个函数
它应该像
function handler(){
var response = xhr.responseText;
// do more with your response.
}
此外,xhr应该在createCORSrequest函数之外定义。
请参阅docs on XDR
我知道你说你是jquery的新手,但你也应该看看$.getJSON。它更容易。