【发布时间】:2013-02-13 11:38:10
【问题描述】:
我正在尝试使用 Yahoo 的 Finance API 检索股票数据:
$.ajax({
dataType: "json",
url: 'http://download.finance.yahoo.com/d/quotes.csv',
data: 's=RHT+MSFT&f=sb2b3jk&callback=?',
success: function (d) {
console.log(JSON.stringify(d));
},
error: function (d, a, b) {
console.log(JSON.stringify(d));
console.log(JSON.stringify(a));
console.log(JSON.stringify(b));
},
complete: function (d, a, b) {
console.log(JSON.stringify(d));
console.log(JSON.stringify(a));
console.log(JSON.stringify(b));
}
});
调用有效,我可以在响应中看到 csv 文本(使用 Chrome 的开发者工具):
现在,我的问题是我无法访问响应中包含的文本。
正如您在原始脚本中看到的那样,我尝试在 "success"、"error" 和 "complete" 回调中捕获响应,但响应文本不包含在其中任何一个中。此外,只会引发 "error" 和 "complete" 回调。
感谢您对此的任何见解,在此先感谢!
ps。我使用 CSV 查询而不是 YQL 查询的原因是 CSV 查询更容易指定我需要的字段。我发现 YQL 查询使用起来要麻烦得多。
【问题讨论】:
-
CSV 不是 JSON。顾名思义,
$.getJSON是用于 JSON。$.getJSON不能很好地与 CSV 配合使用会令人惊讶吗? -
旁注:使用
console.log()stackoverflow.com/questions/4743730/… -
看看this answer。它可以帮助你。
-
你们怎么反应这么快?这里的社区太棒了...@MattBall 你说得对,我承认,尝试使用 JSON 数据类型获取 CSV 数据是相当违反直觉的。我只是还没有找到一种新颖的方法来通过javascript(ajax)以任何其他方式检索它。当然,如果有的话,我对任何其他想法完全持开放态度。谢谢!