【发布时间】:2017-05-26 23:54:55
【问题描述】:
在浏览器中输入此内容会自动下载一个 txt 文件,该文件是 AAPL 股票期权数据的 json 格式文本。
http://www.google.com/finance/option_chain?q=AAPL&output=json
我想直接将这些数据提取到一个 Javascript 变量中,这样我就可以解析结果并在浏览器中显示数据。
我试过了:
$.getJSON('http://www.google.com/finance/option_chain?q=AAPL&output=json', function(json) {
console.log(json);
});
但我收到了 No 'Access-Control-Allow-Origin' header is present on the requested resource. 错误,如其他帖子所示。
我也尝试过使用 ajax:
$.ajax({
dataType: "json",
url: "http://www.google.com/finance/option_chain?q=AAPL&output=json",
}).done(function ( data ) {
console.log(data);
});
但得到同样的错误。
我也尝试在 url 中使用 jsonp (&output=jsonp),但得到一个 Uncaught SyntaxError: Unexpected token ) 错误,它在 Chrome 检查器中返回 ();。
如何将这个 json 数据从 Google 直接拉到 JS 中?
【问题讨论】:
-
试试
https://而不是http:// -
我不再收到错误消息,但没有数据被拉出,控制台中也没有打印任何内容。谢谢
-
如果要获取数据,尝试将成功函数放在Ajax对象中。 Ajax 返回后,会转到success 函数而不是done 函数。 Ajax 会先执行 done 函数,因为它是一个异步方法。
标签: javascript jquery json ajax