0

我正在尝试使用跨域 jsonp。在使用来自其他域的 json 文件中的回调函数之前,我已经这样做了。我正在查看 google 在其教程之一中使用的示例 json 数据文件:

http://earthquake.usgs.gov/earthquakes/feed/geojsonp/2.5/week - 这里显然是回调函数eqfeed_callback。在我尝试使用的 json 文件中,没有可以启动所有内容的回调函数,只有一个括号[。该文件开始像:

[{"Address":"4441 Van Nuys Blvd","City":"Sherman Oaks" ...

并结束如下:

}]

我应该怎么办?有没有其他方法可以在没有回调函数的情况下获取数据?我无法编辑此文件。这是我订阅的一项服务。

谢谢。

4

1 回答 1

0

如果它不是你的服务器,并且服务器不支持 JSONP,那么你无法强制它返回 jsonp。您可以尝试添加?callback=callback到您的 url 以查看这是否能说服服务器将其包装在回调中,但如果没有,那么您就不走运了。

嗯,差不多。实际上,您不应该使用一个非常肮脏的技巧,即覆盖 javascript 的标准 Array 构造函数以将数组的内容分配给全局变量。但这非常可怕,我强烈建议不要这样做。

最好询问服务的维护者是否愿意支持 JSONP。或者更好的是,添加一个 CORS 标头。

于 2013-12-12T16:05:22.337 回答