我正在尝试使用 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;
}
有什么方法可以将数据返回到范围内,或者获取 Angular 以在内部使用 eqfeed_callback 函数?
最佳答案
另一种选择是在这样的范围内定义 eqfeed_callback:
function QuakeCtrl($scope, $http) {
$scope.data = null;
$scope.get_quakes = function() {
var url = 'http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojsonp';
$http.jsonp(url)
}
window.eqfeed_callback = function(data) {
$scope.data = data
}
}
关于javascript - 无法定义回调时使用angularjs JSONP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19375033/