0

我是 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();
}

我从这里找到了这个程序规避同源策略的方法

这就是说通过使用上面的代码我们可以访问跨域的 json 数据。

我复制了代码。这是说处理程序未定义

我不知道如何定义 handler 。

我也不知道在 request.onload 里面写什么

我将在哪里得到 json 结果

请帮忙

提前致谢

4

1 回答 1

2

处理程序是一个函数

它应该是这样的

function handler(){
   var response = xhr.responseText;
   // do more with your response.
}

此外,您的 xhr 应该在函数 createCORSrequest 之外定义。

请参阅XDR 上的文档

我知道你说你是 jquery 的新手,但你也应该看看 $.getJSON。它容易得多。

于 2012-10-17T15:28:40.190 回答