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

时间:2014-12-30 14:04:57

标签: javascript json get jsonp

我正在尝试从Google Finances stock screener提取信息。没有正式的api,所以我只是向他们在网站上使用的相同URL发出请求。我正在使用问题底部的URL,它可能会有点长。我可以自己去网址,它会给我一个带有JSON信息的文本文件。在我的javascript中,我在网址上使用$.getJSON来获取筛选结果。但是我收到Access-Control-Allow-Origin错误,因此我将output=json更改为output=jsonp&callback=?。但它只返回();。据我所知,这意味着它没有在另一端设置响应jsonp请求而无法返回正确的信息。 我还尝试了output=json&callback=?,它会生成();output=json&callback=callbackFunction以及output=json&callback=callbackFunction,它们都会给我Access-Control-Allow-Origin。 有什么方法可以让我的工作吗?

https://www.google.com/finance?output=json&start=0&num=20&noIL=1&q=[currency%20%3D%3D%20%22USD%22%20%26%20%28%28exchange%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

1 个答案:

答案 0 :(得分:1)

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

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