2017-02-03 5 views
0

私はアプリモジュールとアプリケーションコントローラを持っています。私は単一のget要求を使用しようとすると結果が表示されますが、もう1回要求を出してみると問題があると思います。Angular JS複数のリクエストを1つのコントローラで受信

var app = angular.module('bizapp', []); 

app.controller('landcont', function($location, $scope, $http, $window){ 

$scope.user = $location.search().username; 

**//This one works. result comes.** 

    $http({ 
     method : "GET", 
     url  : "webapi/company/apps" 
     }).then(function mySucces(response) { 

      $scope.records= response.data; 

      }, function myError(response) { 
      $scope.apps= response.statusText; 
     }); 


    $scope.redir=function(event){  

    **//This one doesnot work. no result comes.** 

     $http({ 
      method : "GET", 
      url  : "webapi/login/usermap" 
      }).then(function mySuccesss(res) { 

       alert(res); 
      } 

     var uri= 'http://localhost:8080/bizlms/bizint.php?app='+event.target.id;//+encodeURIComponent(query); 

     $window.open(uri, "_self"); 
    }` 

誰でも助けてもらえますか?

+0

'$ http'コールは' $ scope.redir'という関数にあります。あなたがその関数を実行しないと、 '$ http'リクエストを実行しません! –

+0

私は@MatthewCawleyを知っています...私は実際にクリックイベントでこの関数を呼び出しています...秒httpは動作しません... –

+0

申し訳ありませんが、 '明白な'を見逃したくありません。 2番目の '$ http'約束の' then'関数呼び出しの ')'括弧が欠落しているように見えます。 –

答えて

0

最初の$httpコールは、コントローラが定義したときに実行されます。 2番目は関数内にあります。 $ scope上で関数redirを定義しても、それが実行されるわけではありません。あなたのテンプレートには、あなたが使うことができます。

<span ng-click="redir()">click me</span> 
+0

実際、私はclickイベントで$ scope.redirを呼び出しています。この関数は実行しています.say..' $ scope.redir = function(event){alert( "hi")} 'は動作しますが、コードでわかるように、私は2番目のHTTP私は問題を抱えています。 –

+0

複数のhttp呼び出しが1つのコントローラやそのようなもので動作しないようなものはありますか? –

+0

http要求が失敗する可能性があります。エラー時に/ console.log()に何か警告し、デベロッパーツールのネットワークタブを見てください –

0

$http約束のthen関数呼び出しに決算)ブラケットを追加します。

$http({ 
    method : "GET", 
    url  : "webapi/login/usermap" 
}) 
.then(function(res) { 
    alert(res); 
}); // <----------- Add closing ")" here 

はまた、それが必要ではないので、私は外に機能mySuccesssの名前を取ったことに注意してください。 promiseのthen関数に渡される最初の関数は、常に成功コールバック関数として使用されます。他の場所で関数名を使用していない限り、実際には必要ありません。関数に名前をつけ、それが "成功"関数のコールバックであることを読者に伝えていると主張することもできますが、コードはすでにそれを最初のパラメータとして渡しています。

関連する問題