为什么 $.getJson 不能与 json 或 jsonp 一起使用?



我正在尝试从Google Finances股票筛选器中提取信息。没有官方的 api,所以我只是向他们在网站上使用的相同 URL 发出获取请求。我正在使用问题底部的URL,它可能会有点长。我可以自己去网址,它会给我一个包含 JSON 信息的文本文件。在我的 JavaScript 中,我在 url 上使用 $.getJSON 来获取筛选器结果。但是我收到一个Access-Control-Allow-Origin错误,所以我output=json更改为output=jsonp&callback=?。但它只返回();.据我所知,这意味着它没有在另一端设置为响应 jsonp 请求,并且无法返回正确的信息。我也尝试过output=json&callback=?,它会产生();output=json&callback=callbackFunctionoutput=json&callback=callbackFunction,这两者都给了我Access-Control-Allow-Origin。有什么方法可以做到这一点吗?

https://www.google.com/finance?output=json&start=0&num=20&noIL=1&q=[货币%20%3D%3D%20%22美元%22%20%26%20%28%28%28交换%20%3D%3D%20%22OTCMKTS%22%29%20%7C%20%28exchange%20%3D%3D%20%22OTCBB%22%29%20%7C%20%28exchange%20%3D%3D%20 %22NYSEMKT%22%29%20%7C%20%28exchange%20%3D%3D%20%22NYSEARCA%22%29%20%7C%20%28exchange%20%3D%3D%20%22NYSE%22%29%20%7C%20%28exchange%20%3D%3D%20%22NASDAQ%22%29%29%20%26%20%28market_cap%20%3E%3D%200%29%20%26%20%28market_cap%20%3C%3D%200.1%29]&restype=company&ei=GLyhVKmcDpOb8gbm7IGQAQ

如果服务不提供 JSONP 终结点或使用 CORS 授予访问某些其他类型的终结点的权限,则无法使用客户端代码访问数据。

请改用服务器端代码。您可以使用它将数据呈现给客户端代码。

最新更新