我正在尝试从SharePoint网站阅读雅虎新闻源及其跨域访问权限。我使用提到的代码访问,但得到以下错误,我已经通过很多网站和博客,但仍然没有运气。 (我在Chrome控制台中运行此代码)
未捕获的SyntaxError:意外的标记<
$.ajax({
type:"GET",
url:"https://www.yahoo.com/news/rss/world",
dataType: "jsonp",
success: function(data){
console.log(data);
}
});
请建议!
答案 0 :(得分:4)
Google API Feed 已弃用。因此,请尝试使用 rss2json 网站等替代方案来读取转换为json的RSS。
http://rss2json.com/
示例:
将你的RSS列表如下
url: "https://api.rss2json.com/v1/api.json?rss_url=" + "https://www.yahoo.com/news/rss/world",
代码
var url= 'https://www.yahoo.com/news/rss/world';
$.ajax({
type: 'GET',
url: "https://api.rss2json.com/v1/api.json?rss_url=" + url,
dataType: 'jsonp',
success: function(data) {
console.log(data.feed.description);
console.log(data);
}
});
这是工作的jsfiddle:http://jsfiddle.net/yvzSL/1406/
我认为它应该对你有帮助
答案 1 :(得分:0)
正如我从API中看到的,存在的数据不是json,因此您会收到以下错误
将dataType更改为xml
$.ajax({
type:"GET",
url:"https://www.yahoo.com/news/rss/world",
dataType: "xml",
success: function(data){
console.log(data);
}
});
但是,如果API没有设置“访问控制标头”
,则可能会遇到CORS
错误
答案 2 :(得分:0)
如果您获得Cors原产地,访问被拒绝或您不被允许获取这些数据, 最好的选择是在服务器端点击http get请求后解析数据,然后将其加载到HTML页面中 所以步骤将是