2013-06-19 65 views
1

我試圖調用雅虎財務API,它以CSV文件的形式返回一些數據。如何找出爲什麼Jquery AJAX請求失敗?

我想在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之外,所有參數都是空的。

+0

你有小提琴手嗎? http://fiddler2.com/ – Shenaniganz

回答

2

它恰好是一個.csv文件不能用ajax下載(除非CORS被啓用等),但是你似乎在尋找雅虎財經的股票報價,並且雅虎在YQL和管道,所以這裏是爲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在那裏你可以嘗試不同的查詢,對雅虎的數據,這是所有可用XML或JSON與ajax,所以你不需要.csv文件,你應該得到th e數據直接來自YQL。

+0

好的,那簡單多了!謝謝 – Diskdrive