简体   繁体   English

使用多个用户凭据登录 Json

[英]Json Login with multiple user credentials

I am trying to do a login form by using JSON, below is my code:我正在尝试使用 JSON 来做一个登录表单,下面是我的代码:

<html>
    <head>
        <title> Login Form</title>
        <script>
            function validate(){
                var username = document.getElementById("username").value;
                var password = document.getElementById("password").value;
                var Userlist = [{"username":"asdf", "password":"123"}, {"username":"zxc", "password":"123"}]
                var jobj = JSON.parse(Userlist);
                for (var i=0; i < jobj.length; i++) {      
                    if ( username == jobj.username && password == jobj.password)
                    {
                        alert ("Login successfully");
                    }
                    else{
                        alert("Invalid username and password");
                    }

                }
            }
        </script>
    </head>
    <body>
        <div class="container">
            <div class="main">
                <h2>Login Form</h2>
                <form id="form_id" method="post" name="myform">
                    <label>User Name :</label>
                    <input type="text" placeholder="Enter username" name="username" id="username"/>
                    <label>Password :</label>
                    <input type="password" placeholder="Enter Password" name="password" id="password"/>
                    <input type="button" value="Login" id="submit" onclick="validate()"/>
                </form>
    </body>
</html>

I am unable to achieve this, when I enter with the given credentials nothing is appearing on the screen, Do I have to add some more functionality to achieve?我无法实现这一点,当我使用给定的凭据输入时,屏幕上没有显示任何内容,我是否必须添加更多功能才能实现?

Working example工作示例

You don't need :你不需要:

var jobj = JSON.parse(Userlist);

Just parse array like :只需解析数组,如:

function validate()
{
    var username = document.getElementById("username").value;
    var password = document.getElementById("password").value;

    var Userlist = [{"username":"asdf", "password":"123"}, {"username":"zxc", "password":"123"}];
    var logged = false;

    for (var i=0; i < Userlist.length; i++) {
      if ( username == Userlist[i].username && password == Userlist[i].password)
          logged=true;
    }

    if(logged)
        alert ("Login successfully");
    else
        alert("Invalid username and password");
}

Hope this helps.希望这可以帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM