我正在尝试调用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返回“错误”之外,所有参数都是空的。
答案 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);
});
这里是YQL CONSOLE,您可以在其中尝试针对Yahoo数据的不同查询,这些都可以作为带有ajax的XML或JSON使用,因此您不需要.csv
文件,你应该直接从YQL获取数据。