1

我正在尝试调用 Yahoo Finance api,它以 CSV 文件的形式返回一些数据。

我正在尝试在 Javascript 中执行此操作,如下所示,但它失败了。

$.ajax({
type: "GET",
url: "http://finance.yahoo.com/d/quotes.csv?s=RHT+MSFT&f=sb2b3jk",
dataType: "text",
success: function(data) { 
    // when successful
}
  }).error(function(jqXHR, textStatus, errorThrown) {
               console.log("error " + textStatus);
        console.log("incoming Text " + jqXHR.responseText);
        console.log("error THrown " + errorThrown);
        });

我如何弄清楚错误消息是什么?我已经尝试对错误进行回调,但是除了返回“错误”的 textStatus 之外,所有参数都是空的。

4

1 回答 1

2

碰巧.csv无法使用 ajax 下载文件(除非启用了 CORS 等),但您似乎正在从 Yahoo Finance 寻找股票报价,而 Yahoo 在 YQL 和 Pipes 中都提供此信息,所以这里有一个YQL 的快速示例:

var tick = 'MSFT';

var url = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22'+tick+'%22)%0A%09%09&format=json&diagnostics=true&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=?';

$.getJSON(url, function(data) {
    console.log(data.query.results);
});

小提琴

YQL CONSOLE中,您可以尝试针对 Yahoo 的数据进行不同的查询,这些都可以作为 XML 或带有 ajax 的 JSON,因此您不需要该.csv文件,您应该直接从 YQL 获取数据。

于 2013-06-19T06:20:42.517 回答