我正在尝试根据$ http POST的结果显示div。 POST请求按预期结算,但我无法更新控制器变量UserCreatedFlag。 我很确定这是一个范围问题,我已经阅读了几篇关于这个主题的文章,但我遗漏了一些东西。
<html ng-app="registeruser">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script type="text/javascript" >
(function()
{ var app = angular.module('registeruser', []);
app.controller('RegisterUserController', function ($scope, $http)
{
this.ActiveDiv = 5;
this.UserCreatedFlag = 0;
this.CreateUser=function()
{
$http({
method: 'POST',
url: '/AjaxFunctions.php?Function=CreateUser',
data: "",
headers: { 'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function successCallback(response)
{ if(response.data == "Success")
this.UserCreatedFlag = 1;
}, function errorCallback(response) {
});
};
});
})();
</script>
</head>
<body ng-controller="RegisterUserController as RegUserCtrl">
<div ng-show="RegUserCtrl.ActiveDiv === 5">
<div >
<button name="btnUserRevewSubmit" type="button" ng-click="RegUserCtrl.CreateUser()">Create User</button>
</div>
<div ng-show="RegUserCtrl.UserCreatedFlag === 1">
Some Message
</div>
</div>
</body>
</html>