AngularJS返回两个http get请求,但只解析了第一个

时间:2016-04-06 06:36:57

标签: angularjs json

我是angularjs.的新手。我正在尝试使用angularjs创建一个移动应用程序。此处只有if条件有效且else无法正常工作,这意味着第一个http工作正常而第二个工作不正常。怎么解决这个问题?

app.js

$http({method: 'JSONP', url: 'http://js/english.js?callback=JSON_CALLBACK'}).
    then(function(response) {
        console.log(response);
        $scope.status = response.status;
        $scope.templeEn = response.data;
    });

$http({method: 'JSONP', url: 'http://js/malayalam.js?callback=JSON_CALLBACK'}).
    then(function(response) {
        console.log(response);
        $scope.status = response.status;
        $scope.templeMl = response.data;
    });  


$scope.loadlanguages=function(files) {
    console.log(files);
    if(files=='english') {
        console.log('hai');
        $scope.result=$scope.templeEn;
        console.log( $scope.result);    
    }
    else {
        console.log('ml');
        $scope.result=$scope.templeMl;
        console.log( $scope.result)
    }
}

的index.html

<button class="button button-icon" ng-click="loadlanguages('english')" >
    en
</button>

<button class="button button-icon" ng-click="loadlanguages('malayalam')" >
    ml
</button>

1 个答案:

答案 0 :(得分:0)

我已为您的代码和url更新了Fiddle。这应该现在有效。

请注意,小提琴不允许访问您的网站,并会抛出cross-domain错误。我已使用chrome extension禁用它并将您的数据放入小提琴中。下面是更新后的代码和您的回复图片。

$http.get("http://www.obidostech.com/english.js")
      .then(function(json) {
        $scope.responseFoo = json.data;
      },function(err){
        console.log(err)
      });

    $http.get("http://www.obidostech.com/malayalam.js")
      .success(function(json) {
        $scope.responseBar = json;
      },function(err){
        console.log(err)
      });

    $scope.response = [];

    $scope.loadlanguages = function(lang){
        if(lang === 'foo'){
            $scope.response = $scope.responseFoo
      }
      else{
        $scope.response = $scope.responseBar;
      }
    };

enter image description here

希望它有所帮助。