我已经在我的本地服务器上部署了这个插件 http://jquery-plugins.net/FeedEk/FeedEk.html
它可以工作,但我看不到任何 php 脚本:如果没有跨域问题,它如何工作?
我已经在我的本地服务器上部署了这个插件 http://jquery-plugins.net/FeedEk/FeedEk.html
它可以工作,但我看不到任何 php 脚本:如果没有跨域问题,它如何工作?
它使用谷歌 api 可以跨域的一切 =)
http://ajax.googleapis.com/ajax/services/feed/load?....
看一眼yql
var yql=function(a,b){
return 'http://query.yahooapis.com/v1/public/yql?q='+
encodeURIComponent('select * from '+b+' where url=\"'+a+'\"')+
'&format=json';
};
用法
var crossdomainurl=yql(url,(xml,json,html,feed,rss...))
返回 (xml,json,html,feed,rss...) 的跨域 url
现在您可以毫无问题地使用 xhr
在这种情况下,xhr.response 总是返回一个 json。
完整示例:
var x=function(a,b,c){c=new XMLHttpRequest;c.open('GET',a);c.onload=b;c.send()},
yql=function(a,b){return 'http://query.yahooapis.com/v1/public/yql?q='+encodeURIComponent('select * from '+b+' where url=\"'+a+'\"')+'&format=json';};
x(yql('PUTFEEDURLHERE','xml'),function(){console.log(JSON.parse(this.response))})
浏览源代码显示它使用 JSON-P API。
url: "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=" + def.MaxCount + "&output=json&q=" + encodeURIComponent(def.FeedUrl) + "&hl=en&callback=?",