【发布时间】:2013-10-22 21:24:36
【问题描述】:
我正在尝试使用 Angularjs 从 USGS 地震源中收集数据。通常,您需要将 ?callback=JSON_CALLBACK 添加到 URL 的末尾,以便 Angular 使用它,但是 USGS 提要不识别此选项。
我使用的 URL 是 http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojsonp,添加 ?callback=JSON_CALLBACK(例如 http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojsonp?callback=JSON_CALLBACK)会返回一个包装在名为 eqfeed_callback 的函数中的数据集。
有什么方法可以使用这些数据吗?我有一个 eqfeed_callback 函数,但它不在范围内,这使得使用 Angular 毫无意义。
这是我目前的代码:
function QuakeCtrl($scope, $http) {
$scope.get_quakes = function() {
var url = 'http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojsonp';
$http.jsonp(url)
}
}
function eqfeed_callback(data) {
return data;
}
有什么方法可以让数据返回作用域,或者在内部使用 eqfeed_callback 函数?
【问题讨论】:
-
您是否反对只使用
JSON?我冒昧地猜测,从 url 中删除p会使其成为纯JSON,它确实如此。 -
可以,但是 USGS 没有启用 CORS,所以我得到了跨源错误。如果未启用 CORS,有没有办法使用 JSON?我的理解是这是服务器端设置,我不能修改。
-
哦:/ 猜你不能那样做;是的,这是一个服务器端设置。
标签: javascript angularjs jsonp