0

我已经在我的本地服务器上部署了这个插件 http://jquery-plugins.net/FeedEk/FeedEk.html

它可以工作,但我看不到任何 php 脚本:如果没有跨域问题,它如何工作?

4

2 回答 2

2

它使用谷歌 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))})
于 2013-08-18T19:25:53.777 回答
1

浏览源代码显示它使用 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=?",
于 2013-08-18T19:26:07.693 回答