javascript - 无法定义回调时使用angularjs JSONP

标签 javascript angularjs jsonp

我正在尝试使用 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/

相关文章:

asp.net - 如何使用 AJAXToolkit AutoComplete Extender 不提交表单?

javascript - 如何将紧密耦合的代码提取到外部库中?

web-services - 在线 JSONP 转换器/包装器

javascript - 在一串 javascript 代码中查找正则表达式文字

javascript - Owl Carousel 无法与 Bootstrap 一起正常使用

javascript - Angularjs - 合并父范围和子范围之间的数据 - 时间表项目

angularjs - 动态添加 ng-bind 指令不起作用吗?

javascript - 如何在 AngularJS 中将 Controller 放在单独的文件中

javascript - 如何阻止函数执行直到 json 返回结果?

cordova - PhoneGap/Cordova、Ripple 模拟器、CORS 和 JSONP