Javascript 使用jquery和ajax获取rss提要
我发现它允许将RSS提要转换为json。 它还提供了一种指定回调的方法,因此我认为用户能够对此web服务进行jsonp调用。 然而,我尝试了不同的方法,但都没有奏效。 这是我的密码:Javascript 使用jquery和ajax获取rss提要,javascript,jquery,ajax,rss,jsonp,Javascript,Jquery,Ajax,Rss,Jsonp,我发现它允许将RSS提要转换为json。 它还提供了一种指定回调的方法,因此我认为用户能够对此web服务进行jsonp调用。 然而,我尝试了不同的方法,但都没有奏效。 这是我的密码: $(document).ready(function () { $.ajax({ type: "GET", url: 'http://www.blastcasta.com/feed-to-json.aspx', dataType: "jsonp",
$(document).ready(function () {
$.ajax({
type: "GET",
url: 'http://www.blastcasta.com/feed-to-json.aspx',
dataType: "jsonp",
jsonpCallback: "loadRSS",
data: {
feedUrl: 'http://xml.corriereobjects.it/rss/homepage.xml',
param: "callback"
},
success: function (data) {
var list = "";
for (var propertyName in data) {
list+=data[propertyName];
}
console.log(list);
},
error: function(xhr, ajaxOptions, thrownError){
alert(ajaxOptions)
}
});
});
无论我尝试什么,成功处理程序都不会被执行。我得到了错误处理程序。
我也尝试了jsonpCallbak:“callback”、jsonpCallback:“?”、param:“callback”和其他值,但没有成功。
我必须只使用javascript,而不支持任何服务器端脚本语言(无aps、无php等)
有人在他的网站上使用了这项服务吗?
任何建议都将不胜感激 更新: 下面是一个适用于您的代码的示例:
$.getJSON("http://www.blastcasta.com/feed-to-json.aspx?feedUrl=http://xml.corriereobjects.it/rss/homepage.xml¶m=?", function(data) {
console.dir(data);
});
问题是,返回json时会出现一些javascript错误:
请参阅此更新: 下面是一个适用于您的代码的示例:
$.getJSON("http://www.blastcasta.com/feed-to-json.aspx?feedUrl=http://xml.corriereobjects.it/rss/homepage.xml¶m=?", function(data) {
console.dir(data);
});
问题是,返回json时会出现一些javascript错误:
看到这个我发现jQuery JSON API不适合这种提供BlastCasta服务的JSON响应。它将JSON分配给URL中指定的自定义变量,并且不使用JSONP使用的回调功能。例如,此URL: 将返回以下响应:
rssFeed = { "rss": { "channel": /*...*/}}
因此,可以使用脚本注入技术:
/* URL of the BlastCasta service and his parameters:
feedUrl :== escaped URL of interest (RSS Feed service)
param :== javascript variable name which will receive parsed JSON object */
var url = "http://www.blastcasta.com/feed-to-json.aspx"
+"?feedUrl=http%3A//xml.corriereobjects.it/rss/homepage.xml"
+"¶m=rssFeed";
/* since the service declares variable without var keyword,
hence in global scope, lets make variable usage via window object;
although you can write param=var%20rssFeed" in the URL :) */
window.rssFeed = null;
$.getScript(url, function() {
/* script is loaded, evaluated and variable is ready to use */
console.dir(window.rssFeed);
/* some feeds are huge, so free the memory */
window.rssFeed = null;
});
我发现jQuery JSON API不适合这种提供BlastCasta服务的JSON响应。它将JSON分配给URL中指定的自定义变量,并且不使用JSONP使用的回调功能。例如,此URL: 将返回以下响应:
rssFeed = { "rss": { "channel": /*...*/}}
因此,可以使用脚本注入技术:
/* URL of the BlastCasta service and his parameters:
feedUrl :== escaped URL of interest (RSS Feed service)
param :== javascript variable name which will receive parsed JSON object */
var url = "http://www.blastcasta.com/feed-to-json.aspx"
+"?feedUrl=http%3A//xml.corriereobjects.it/rss/homepage.xml"
+"¶m=rssFeed";
/* since the service declares variable without var keyword,
hence in global scope, lets make variable usage via window object;
although you can write param=var%20rssFeed" in the URL :) */
window.rssFeed = null;
$.getScript(url, function() {
/* script is loaded, evaluated and variable is ready to use */
console.dir(window.rssFeed);
/* some feeds are huge, so free the memory */
window.rssFeed = null;
});
你看过我的问题了吗?我写过我不能使用php,所以我不能使用示例中提供的基本代理。谢谢,我会联系网站管理员并要求将xml修复为json-converterDid。您阅读了我的问题吗?我写道我不能使用php,所以我不能使用示例中提供的基本代理。谢谢,我会联系网站管理员,要求将xml修复为json-converterWell,从技术上讲,BlastCasta不会返回json响应。它返回的是JS脚本,从技术上讲,BlastCasta不会返回JSON响应。它返回JS脚本。