在$ http.post angularJS之后调用$ http.get

时间:2018-11-06 14:32:46

标签: javascript angularjs

我想在$ http.post方法完成后调用$ http.get方法。 因此,我编写了一个控制器,单击按钮后便被触发。

var app = angular.module("loginApp", []);

app.controller("ctrlLogin", function($scope, $http, $window, $timeout){
$scope.name = "";
$scope.key = "";

var message = {name: $scope.name, key: $scope.key};

$scope.setData = function(){
    message.name = $scope.name;
    message.key = $scope.key;

    $http.post('/getData', message)
      .then(function() {
          console.log("msg sent");

      }, function error() {
        console.log("msg failed");

      }).then(
            $http.get('/doLogon')
            .then(function() {
                console.log("logon");
            }, function error() {
                console.log("doLogon failed");

            }));
};
});

我仍然在“味精发送”之前得到“登录”。 单击同一按钮时,我需要同时执行这两个功能。

1 个答案:

答案 0 :(得分:0)

我不知道您为什么有两个then语句,请看一下:

$http.post('/getData', message)
  .then(function() {
      $http.get('/doLogon')
        .then(function() {
            console.log("logon");
        }, function() {
            console.log("doLogon failed");
        })
  }, function() {
    console.log("msg failed");
  })