为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用AJAX从数据库中检索数据并将结果保存在变量中?

如何使用AJAX从数据库中检索数据并将结果保存在变量中?

PHP
慕运维8079593 2022-08-05 10:20:41
我是jQuery和AJAX的新手,我正在将登录页面作为项目进行处理,我需要使用AJAX从数据库中检索数据。我不是100%流利的英语,所以我会尽我所能解释这个问题(在谷歌翻译的帮助下)。以下是我正在使用的代码:索引.html<!DOCTYPE html><html>  <head>  <title>Login</title>  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>  </head>  <body>    <form validate="">      <input type="text" placeholder="Username" id="username" required/><br />      <input type="password" placeholder="Password" id="password" required/><br />      <input type="submit" id="submit" value="Login" />    </form>    <script type="text/javascript">    // when document is loaded    $(document).ready (      // when submit is clicked      $("#submit").click (        // sets test to null        var test = null;        // sets username to value of username input        var username = document.getElementById("username").value;        // AJAX request         $.ajax({          type: "POST",          async: true,          url: test.php,          data: {username: username},          success: function (data) {            test = data;            console.log(test);            return test;          }        });      );    );    </script>  </body></html>测试.php<?php// connects to database$conn = mysqli_connect('server', 'username', 'password', 'database');// sets var username to POST username value$username = $_POST['username'];// SQL Query$sql = "SELECT * FROM users WHERE username='" . $username . "'";$result = mysqli_query($conn, $sql);// sets result to mysqli_fetch_assoc()$result = mysqli_fetch_assoc( $result );// echos $resultecho $result['password'];// closes database connectionmysqli_close( $conn );?>控制台日志控制台输出:“”[DOM] 输入元素应具有自动完成属性(建议:“当前密码”):(更多信息:https://www.googlesite.com)未捕获的语法错误:意外的令牌 var ajax.html:19I've looked at the code and I can't seem to find an error.Thanks in advance! ;)>P.S.>It's probably going to end up being some stupid typo.>Other than that, have a great day!
查看完整描述

2 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

您可以使用 不使用事件。clicksubmit


在你的情况下,只要给你的喜欢 -idform


<form validate="" id="submit">

现在,在您的脚本中 -js


$(function() { //shorthand document.ready function

    $('#submit').on('submit', function(e) { 

        e.preventDefault();  //prevent form from submitting

        console.log(data);

        $.ajax({

          type: "POST",

          async: true,

          url: test.php,

          data: $(this).serializeArray(),

          success: function (data) {

            console.log(data);

          }

        });

    });

});

因此,请检查您的整个代码 -


<!DOCTYPE html>

<html>

  <head>

  <title>Login</title>

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>

  </head>

  <body>

    <form validate="" id="submit">

      <input type="text" placeholder="Username" id="username" required/><br />

      <input type="password" placeholder="Password" id="password" required/><br />

      <input type="submit" value="Login" />

    </form>

    <script type="text/javascript">

    // when document is loaded

    $(function() { //shorthand document.ready function

    $('#submit').on('submit', function(e) { 

        e.preventDefault();  //prevent form from submitting

        console.log(data);

        $.ajax({

          type: "POST",

          async: true,

          url: test.php,

          data: $(this).serializeArray(),

          success: function (data) {

            console.log(data);

          }

         });

        });

     });

    </script>

  </body>

</html>

希望这会帮助你。


查看完整回答
反对 回复 2022-08-05
?
青春有我

TA贡献1784条经验 获得超8个赞

您需要将一个函数传递给您的 document.ready() 调用和您的 click() 调用。


     <script type="text/javascript">


        $(document).ready(function() {

            Your variables here...


            $('#submit').click(function() {

                ... Ajax call here.

            });

        });

    </script>


查看完整回答
反对 回复 2022-08-05
  • 2 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信