Вызов $ http.get после $ http.post angularJS - PullRequest
0 голосов
/ 06 ноября 2018

Я хочу вызвать свой метод $ http.get после того, как метод $ http.post завершил работу. Поэтому я написал контроллер, который срабатывает после нажатия кнопки.

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 голосов
/ 06 ноября 2018

Я не знаю, почему у вас есть два 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");
  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...