javascript - 在 javascript 中读取 RSS XML(跨域)

标签 javascript jquery ajax xml rss

我想阅读 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回调(thendonefailalways)。它们使您的代码变得很多更加灵活。
  • 也请查看文档。 https://developers.google.com/feed/v1/jsondevguide

关于javascript - 在 javascript 中读取 RSS XML(跨域),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22635236/

相关文章:

java - 如何将 Spring MVC View 呈现为字符串

php - Javascript POST 不起作用 - 将 Javascript 数组发送到 PHP

javascript - 如何逐行读取并仅返回数字大于 0.0 的行

javascript - 滚动到页面底部时如何加载disqus?

jquery - 如何在 "Browse"按钮上显示指针光标

jquery - 如何向数据表 1.10 添加上下文菜单?

javascript - 为什么将数据传递到 AJAX 请求 'success' 函数中?

javascript - 获取由 javascript 读取的数组文本字段值

javascript - 更好的写法(jQuery)

javascript - 输入文本表单,使用javascript清除和恢复表单内容问题