我想发送 http 请求以获取 finance.yahoo 股票数据,其 url 如下:http://finance.yahoo.com/d/quotes.csv?s=GAIL.NS+BPCL.NS+%5ENSEI&f=snl1hgp它返回一个 csv 文件。我想读取响应数据并使用 Javascript 或 JQuery 移动将其填充到 ListView 中。我提到的所有链接都没有帮助我。
我尝试使用以下代码:
$.ajax({
type: "GET",
url: "http://finance.yahoo.com/d/quotes.csv",
data: "s=GAIL.NS+BPCL.NS+%5ENSEI&f=snl1hgp",
dataType: "text/csv",
success: function(data) {
alert(JSON.stringify('data is :' + data));
}
});
我收到空白数据作为警报。 任何示例代码或有用的链接将不胜感激。
最佳答案
我认为问题是请求是跨域的。这里还有一个问题:
这里还有另一个答案:Yahoo JSONP Ajax Request Wrapped in callback function
这里还有一个工作示例:Displaying ajax results from yahoo finance using underscore.js
这是一个工作的 jsfiddle,它向 d.yimg.com 发出 jsonp 请求以获取数据 http://jsfiddle.net/gp6zL/
YAHOO.Finance.SymbolSuggest.ssCallback = function (data) {
alert(JSON.stringify(data));
};
var query;
query = 'Google';
if (query.length > 0) {
$.ajax({
type: "GET",
url: "http://d.yimg.com/autoc.finance.yahoo.com/autoc",
data: {
query: query
},
dataType: "jsonp",
jsonp: "callback",
jsonpCallback: "YAHOO.Finance.SymbolSuggest.ssCallback",
});
}
关于javascript - 使用 jquery 调用 finance.yahoo api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15637057/