使用angularjs JSONP时不能被定义的回调 [英] Using angularjs JSONP when callback cant be defined

查看:636
本文介绍了使用angularjs JSONP时不能被定义的回调的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图用Angularjs从USGS地震饲料收集数据。通常情况下,你需要钉?回调= JSON_CALLBACK上的URL角度使用它,但美国地质勘探局饲料不承认这个选项的结束。

I'm attempting to use Angularjs to gather data from the USGS Earthquake feed. Typically you would need to tack ?callback=JSON_CALLBACK on to the end of the URL for Angular to use it, however the USGS feed does not recognize this option.

我使用的URL是<一个href=\"http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojsonp\">http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojsonp并加入?回调= JSON_CALLBACK(例如<一href=\"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。

The URL I'm using is http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojsonp and adding ?callback=JSON_CALLBACK (eg. http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojsonp?callback=JSON_CALLBACK) returns a dataset wrapped in a function called eqfeed_callback.

有没有办法使用这些数据?我有一个eqfeed_callback功能,但它不是在范围内,这使得采用了棱角分明毫无意义。

Is there any way to use this data? I've got an eqfeed_callback function but it's not in scope which makes using Angular pointless.

这里的code,我已经得到了,因为它代表:

Here's the code that I've got as it stands:

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功能?

Is there any way to either get the data back into the scope, or get angular to use the eqfeed_callback function internally?

推荐答案

另一种办法是确定这样的范围内的eqfeed_callback:

Another option would be defining the eqfeed_callback within the scope like this:

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
    }
}

这篇关于使用angularjs JSONP时不能被定义的回调的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆