如何找出Jquery AJAX请求失败的原因?

How do I figure out why a Jquery AJAX request has failed?

本文关键字:失败 请求 何找出 Jquery AJAX      更新时间:2023-09-26

我正在尝试调用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。

碰巧.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);
});

小提琴

这里是在YQL控制台在那里你可以尝试不同的查询雅虎的数据,这是所有可用的XML或JSON与ajax,所以你不需要.csv文件,你应该直接从YQL获取数据。