javascript - Display an alert after submitting a form using angularjs -


i'm using angularjs login form, , i'm making api call server username/password , display alert.

login.jade

// form input(type="submit",ng-click="submit()") div.alert(ng-show="showalert",class="{{alert}}",ng-animate="{show: 'alert-show', hide: 'alert-hide'}") button(ng-click="showalert = !showalert") fadein 

controller.js

$scope.submit = function () {   if ($scope.username != undefined && $scope.password != undefined) {     $http({       method: 'post',       data: {         username: $scope.username,         password: $scope.password       },       url: 'api/login'     }).     success(function (data, status, headers, config) {       if (data.auth) {         $scope.alert = data.alert;       } else {         $scope.alert = data.alert;       }     }).     error(function (data, status, headers, config) {       // else     });     $scope.showalert = true;   } } 

data.alert class of alert (alert-success, alert-warning), instantly shows alert, without fading. if remove $scope.alert = data.alert, works fine. thinking having 2/3 div.alert, , having different scopes ($scope.alert1, $scope.alert2) i'm sure there better way.

moreover, on initial load, div.alert displayed faded. set alert on display: none when loading, looking 'cleaner' way.

english not native language, might have made mistakes, apologies. thanks.

$scope.showalert = true outside of success , error callbacks. you're setting showalert true set call $http.

remember $http service returns promise , callbacks (success , error in case) not invoked immediately. they'll invoked once server responds. try setting $scope.showalert = true inside success function , see if more expecting.


Comments

Popular posts from this blog

java - Run a .jar on Heroku -

java - Jtable duplicate Rows -

validation - How to pass paramaters like unix into windows batch file -