[英]Cross-domain JSON request?
题:
我正在尝试使用JSON跨域,但我找到的只是JSON解析器,我不需要...
我已经读过用JSON做跨域请求是可能的,但到目前为止,我看到的只是使用XMLHttpRequest的实现......
- 这意味着你不能使用跨域请求,至少不能在IE 8之外...
我一直在http://www.json.org/ ,但我找到的只是解析器或无用。
到目前为止,谷歌发现的最好的是
http://devpro.it/JSON/files/JSONRequest-js.html
但这相当混乱,不能跨域工作,域内也不工作 - 或者根本不工作......
var the_object = {};
var http_request = new XMLHttpRequest();
http_request.open( "GET", url, true );
http_request.onreadystatechange = function () {
if ( http_request.readyState == 4 && http_request.status == 200 ) {
the_object = JSON.parse( http_request.responseText );
}
};
http_request.send(null);
你可以做的跨域注入脚本包括:
var s = document.createElement('script');
s.src = 'http://someotherdomain/getMeMyJs.aspx?parameter=value';
s.onload = someOptionalCallback;
s.type = 'text/javascript';
if(document.getElementsByTagName('head').length > 0)
document.getElementsByTagName('head')[0].appendChild(s);
现在,该请求返回的代码将立即执行。 如果您希望与代码进行交互,则可以确保返回包含在函数调用中的所有数据:
jsonCallback({ object: json, whatever: value });
您可以使用它来构建API,您可以将回调函数的名称作为请求查询字符串参数传递。 这是一个这样的API的例子
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.