根据Angular Js中的If和Else语句显示消息

时间:2017-10-11 00:48:17

标签: javascript angularjs wcf

我正在将Wcf服务用于Angular JS Application。我通过提供用户名和密码来创建用户登录系统。但是我在输入文件中输入的用户名或密码总是显示消息的用户名和密码是正确的。我想如果用户名和密码是正确的,那么我想在角度js应用程序中显示消息,否则用户名和密码不正确但我不知道为什么我在运行应用程序时得到相同的消息..

这是我的脚本代码。

///// <reference path="../angular.min.js" />  



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

    .controller('Web_Client_Controller', ["$scope", 'myService', function ($scope, myService) {

        $scope.OperType = 1;

        //1 Mean New Entry  

        //To Clear all input controls.  
        function ClearModels() {
            $scope.OperType = 1;
            $scope.Username = "";
            $scope.Password = "";


        }
        $scope.login = function () {
            var User = {
                Username: $scope.Username,
                Password: $scope.Password,
            };
            myService.AuthenticateUser(User).then(function (pl) {
                $scope.msg = "Username and password is correct ";
                // redirect user
                // $window.location.href = '/Somewhere';
            }, function (err) {
                $scope.msg = "Password Incorrect !";
                console.log("Some error Occured" + err);
            });
        };

    }]);

app.service("myService", function ($http) {
    // Create new record  

    this.AuthenticateUser = function (User) {
        return $http.post("http://localhost:52098/HalifaxIISService.svc/AuthenticateUser", JSON.stringify(User));
    }
})

这是我的HTML代码..

@{
    Layout = null;
}

<!DOCTYPE html>

<html ng-app="WebClientModule">
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script src="~/Scripts/angular.min.js"></script>

    <script src="~/RegistrationScript/LoginScript.js"></script>
</head>
<body>

    <table id="tblContainer" data-ng-controller="Web_Client_Controller">
        <tr>
            <td></td>
        </tr>
        <tr>
            <td>
                <div style="color: red;">{{msg}}</div>
                <table style="border: solid 4px Red; padding: 2px;">

                    <tr>
                        <td></td>
                        <td>
                            <span>Username</span>
                        </td>
                        <td>
                            <input type="text" id="username" data-ng-model="Username" required="" />
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>
                            <span>Password</span>
                        </td>
                        <td>
                            <input type="password" id="password" required data-ng-model="Password" require="" />
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td>
                            <input type="button" id="Login" value="Login" data-ng-click="login()" />
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
</body>
</html>
<script src="~/RegistrationScript/LoginScript.js"></script>

2 个答案:

答案 0 :(得分:0)

也许您应该在服务中返回一个对象,例如:

return {
   AuthenticateUser: function (User) {
       return $http.post("http://localhost:52098/HalifaxIISService.svc/AuthenticateUser", JSON.stringify(User));
   }
}

或检查您当地的auth api是否运作正常,这可能会有所帮助。

答案 1 :(得分:0)

您的问题的解决方案只是调试您收到的API响应。您只需要检查您获得的API响应,并相应地显示错误和成功。

我尝试使用您的本地服务器API调用,并且正如预期的那样,它会给我错误并且&#34;密码不正确&#34;消息显示。

要进一步深入研究此问题,您需要提供API响应。

我附上了上面的截图。

enter image description here