尝试从雅虎获取RSS !基于Andrew和Dylan Valade在用jQuery解析RSS中的回答,但是收到一个错误:
数据。
成功()data = Object {responseDetails="Feed无法加载",responseStatus=400, responseData=null}
从浏览器或PHP加载相同的URL cURL返回RSS数据ok
url: http://feeds.finance.yahoo.com/rss/2.0/headline?s= ^富时,url编码:http%3A%2F% 2ffeeds.financie.yahoo.com %2Frss%2F2.0%2Fheadline%3Fs%3D%5EFTSE
在我的Mac上从本地vhost进行测试(OS X 10.5.8, XAMPP 1.7.3)。我尝试了zRSSfeed插件,也使用谷歌API,并收到同样的错误:"Feed无法加载"。指数数据和图表运行正常Thanks in advance
function getRSS(symbol, url, callback) {
$('#rss').html('http://feeds.finance.yahoo.com/rss/2.0/headline?s='+symbol+'<br />');
$('#rss').append(encodeURIComponent(url));
$.ajax({
url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent(url),
dataType: 'json',
success:
function (data) {
callback(data.responseData.feed);
},
error:
function (jqXHR, textStatus, errorThrown) {
$('#rss').append('<span class="downVal">'+textStatus+'</span>');
$('#rss').append('<br />'+'<span class="downVal">'+errorThrown+'</span>');
}
});
}
function parseRSS(newsFeed) {
$('#rss').append(newsFeed);
}
jQuery(document).ready(function($) {
...
summary(symbol);
$('#chart').html('<img style="-webkit-user-select:none" src="http://chart.finance.yahoo.com/z?s='+symbol+'&t=3m&q=l&l=on&z=m&p=m20,m200,v&a=r14,m26-12-9">');
getRSS(symbol, 'http://feeds.finance.yahoo.com/rss/2.0/headline?s='+symbol, parseRSS);
...
首先要指出的是提要返回的是一个400代码—因此根据W3C的建议,您不应该重复调用。
10.4.1 400错误请求
由于格式错误,服务器无法理解请求语法。客户不应该重复请求修改。
打开url:
http://feeds.finance.yahoo.com/rss/2.0/headline?s=^FTSE
我得到一个404错误,所以也许搜索并不总是有效或是速率限制?
如果确信调用是正确的,那么可能是调用提要的那行有问题:
$('#rss').html('http://feeds.finance.yahoo.com/rss/2.0/headline?s='+symbol+'<br />'
因此将其剥离,警告符号变量以确保它是您想要的,添加以下行以进行一些基本的调试:
alert (symbol);
var feedUrl = 'http://feeds.finance.yahoo.com/rss/2.0/headline?s='+symbol;
alert (feedUrl);
…最后检查附加<br />
是否实际上破坏了提要url。