【问题标题】:How to load http data with javascript?如何使用 javascript 加载 http 数据?
【发布时间】:2012-02-26 19:24:27
【问题描述】:

我正在尝试构建一个非常简单的 javascript,它可以在加载网页时读取并显示几个股票索引。

我希望找到一个包含这些数据的 RSS 提要,然后我可以使用 jQuery.parseXML 对其进行解析,但我无法找到一个。我确实找到了this:Yahoo Finance 提供了一种以 CSV 格式下载股票数据的方法,并通过 URL 指定您要查找的数据。

所以,我认为这可能是一种完成我所追求的方法:当页面加载时,我可以向 Yahoo Finance 发送请求,然后以某种方式解析 CSV数据来获取我需要填充我的股票报价的数据。我的问题与前面提到的“不知何故”有关。有没有办法通过javascript做到这一点?例如,是否有可能以某种方式将 Yahoo Finance 生成的 CSV 加载为字符串?

我也非常愿意接受有关如何完成此任务的任何其他建议。例如,如果有人知道我可以从中获取 S&P/TSX 综合指数的 RSS 提要,请告诉我!

【问题讨论】:

    标签: javascript jquery html csv cross-domain


    【解决方案1】:

    您可能会遇到一些跨站点scripting problems,因为浏览器不允许您这样做。请参阅the howto on that 来避免这种情况。您也可以在服务器端执行此操作,然后从您的客户端查询。取决于您使用的服务器端技术。

    之后,解析 CSV 应该不成问题。在每一行使用string.split 之类的东西。

    【讨论】:

    • 谢谢——这至少给了我一个开始的地方。看起来我可能不得不写我的前几行 php...
    • 你也可以考虑node.js。我发现对于较小的任务非常容易。我最近在与你类似的情况下做了 node.js + api_request....
    【解决方案2】:

    默认情况下,JavaScript 不允许跨域请求,除非您使用 JSON-P 作为格式,否则不允许直接从另一个域请求 CSV。因此,这有点问题。在这种情况下,您可能必须在您自己的域中设置一个代理,该代理将从 Yahoo 服务器端获取数据,然后从您自己的域中将其发送到您的 JavaScript。

    【讨论】:

      猜你喜欢
      • 2019-03-15
      • 2017-03-30
      • 1970-01-01
      • 2011-03-18
      • 2021-04-22
      • 2018-12-23
      • 1970-01-01
      • 2015-12-30
      • 2016-11-30
      相关资源
      最近更新 更多