我想阅读 rss(xml) 文件但不使用 google rss feed。
我尝试了 jsonp 但它下载了文件并抛出错误 "Uncaught SyntaxError: Unexpected token < "
$.ajax({
type: "GET",
url:'https://news.google.com/?output=rss',
//url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=1000&callback=?&q=' + encodeURIComponent(url),
dataType: "xml",
contentType: "text/xml; charset=utf-8",
headers: { "Access-Control-Allow-Origin":"*",},
success: function(xml) {
alert("success");
}
});
请大家帮帮我..
最佳答案
$.getJSON("//ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?", {
num: 10,
q: url
}).done(function (data) {
console.log(data);
});
注意事项:
- 你做得太过分了。不要尝试在客户端指定服务器实际必须提供的信息(内容类型、允许来源 header 、数据类型)。
- 您不需要 XML,您需要 JSON。
- 跨源 JSON 请求的名称是 JSONP。
- 如果您使用 the
getJSON()
API method,jQuery 会为您实现它.除了将"callback=?"
添加到 URL 之外,您无需执行任何操作。 - 使用jQuery Deferred回调(
then
、done
、fail
和always
)。它们使您的代码变得很多更加灵活。 - 也请查看文档。 https://developers.google.com/feed/v1/jsondevguide
关于javascript - 在 javascript 中读取 RSS XML(跨域),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22635236/