我如何弄清楚Jquery AJAX请求失败的原因?

时间:2013-06-19 06:02:47

标签: javascript jquery

我正在尝试调用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返回“错误”之外,所有参数都是空的。

1 个答案:

答案 0 :(得分:2)

恰好有一个.csv文件无法使用ajax下载(除非启用了CORS等),但您似乎正在寻找雅虎财经的股票报价,雅虎提供此信息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);
});

FIDDLE

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