**的方法之一是找到能够访问JSON
数据源,然后将其用于转化你的Web应用程序与JSON
工作,CORS
,或者,你可以不用担心跨站点处理任何其他形式的代理关注。
一个这样的代理是Yahoo's "YQL"。
YQL支持JSONP和CORS。
因此,如果您的浏览器也支持CORS,您可以将其视为JSON代理服务器的免费JSON。如果没有,那么它也是一个免费的JSON到JSONP代理:
这里是我如何用jQuery使用它的一个例子:
$.getJSON("http://query.yahooapis.com/v1/public/yql",
{
q: "select * from json where url=\"http://airportcode.riobard.com/airport/" + code + "?fmt=JSON\"",
callback: gotJSON, // you don't even need this line if your browser supports CORS
format: "json"
},
function(data){
if (data.query.results) {
/* do something with
data.query.results.json.code
data.query.results.json.name
data.query.results.json.location
*/
} else {
/* no info for this code */
}
}
);
And a version on jsfiddle...
如何将这项工作?您违反了同源策略,通话将失败。你不需要对YQL进行某种类型的JSONP调用吗? – 2012-09-13 00:16:30