从输入中获取登录详细信息,并通过ajax调用将其传递到php文件


Get login details from input and and pass them to php file with ajax call

我的html代码中有这样的表单:

    <form name="log">
        Username: <input type="text" style="width: 100px" name="user"></br>
        Password: <input type="password" style="width: 100px" name="pass">
        <input type="submit" class="login" style="width: 150px; text-align: left" value="Log In">
    </form>

和这个javascript来获取值并将其发送到php文件:

$(document).ready(function(){
       $('.login').on('click',function(){
           var id = document.forms['log']['user'].value;
           var password = document.forms['log']['pass'].value;
           if (id == '' || password == ''){
               alert('No username or password given');
           }
           else {
               $.ajax({
                   url: 'login.php',
                   type: 'POST',
                   data: {'id': id, 'pass': password}
               });
           }
       });
    });

这是我想要处理数据的文件:

$id = $_POST['id'];
$pass = $_POST['pass'];
$user = new User($id,$pass);

当我调用新的用户类时,它会显示一条错误消息,说未定义索引。

我的问题是:

  1. 我是否必须将发送数据的文件包括在数据所在的文件中
  2. 为什么ajax调用不起作用
  3. 在我修复了这个问题之后,我将如何在用户未登录时隐藏按钮并在之后显示它

几个指针。。。

  1. click()函数指定一个return falsee.preventDefault()
  2. 更换以下内容:

    var id = $("input[name='user']").val().trim();
    var password = $("input[name='pass']").val().trim();
    
  3. 用于隐藏按钮:

    success: function () {$(btnSelector).hide();}