Ajax 验证登录

本文介绍了如何在ASP.NET MVC项目中利用Ajax进行登录验证,避免因页面刷新导致用户输入丢失的问题。通过使用Ajax.BeginForm()辅助方法,配合JQuery和JQuery unobtrusive-ajax库,实现前端表单的无刷新验证。登录控制器接收POST请求,并返回Json响应,前端根据响应进行相应的交互提示。
摘要由CSDN通过智能技术生成

用户登录,若验证不通过,这时我们刷新页面就会导致用户之前的输入全部丢失,对我来说这是一种非常差的体验,所以我采用 ajax 的方法来验证表单。

项目准备

我的项目基于 ASP.NET MVC ,运用了 Bootstrap 前端 UI 框架,JavaScript 采用了 JQuery 以及 JQuery unobtrusive-ajax 库。
整体界面
界面如图,只有:用户名、密码 两个输入。

具体实现

在前端 View 视图中我们使用 ASP.NET MVC 自带的 HTML 辅助方法 Ajax.BeginForm() 。对应的参数分别为:

  1. Login : 控制器重的 action 名称
  2. Login: 控制器名称
  3. null : 路由参数值
  4. AjaxOptions : Ajax参数 。数据传输方式为 post (不在地址栏显示参数),OnSuccess = “login” —— 请求发送成功后掉用的ajax 方法。
  5. new { @class = “form-group” }) : HTML 属性设置
@using (Ajax.BeginForm("Login", "Login",null, new AjaxOptions {
    HttpMethod="post" , OnSuccess="login" }, new {
    @class = "form-group" }))
                {
   
                    <input id="userName" type="text" required=
实现登录验证需要以下步骤: 1. 创建登录页面,包括账号和密码输入框,以及登录按钮。 2. 创建链接数据库的PHP文件,连接数据库并执行相关查询操作。 3. 创建验证账号密码的PHP文件,接收登录页面POST过来的账号密码数据,进行验证操作。 4. 创建AJAX请求,将登录页面的账号密码数据发送给验证文件,验证成功后跳转到指定页面。 以下是实现方法的详细步骤: 1. 创建登录页面 在HTML页面中添加账号和密码输入框,以及登录按钮,如下所示: ``` <form action="login.php" method="post"> <label for="username">账号:</label> <input type="text" id="username" name="username" required><br><br> <label for="password">密码:</label> <input type="password" id="password" name="password" required><br><br> <input type="submit" value="登录"> </form> ``` 2. 创建链接数据库的PHP文件 在PHP文件中使用mysqli_connect()函数连接数据库,如下所示: ``` $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("连接失败:" . mysqli_connect_error()); } ``` 其中,$servername为数据库服务器名,$username为数据库用户名,$password为数据库密码,$dbname为数据库名称。 3. 创建验证账号密码的PHP文件 接收登录页面POST过来的账号密码数据,并查询数据库验证账号密码是否正确,如下所示: ``` $username = $_POST['username']; $password = $_POST['password']; $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) == 1) { // 验证成功,跳转到指定页面 header("Location: home.php"); } else { // 验证失败,返回登录页面 header("Location: login.php"); } ``` 其中,$sql为查询语句,$result为查询结果,mysqli_num_rows($result)返回结果集中行的数量。 4. 创建AJAX请求 在登录页面中添加以下JavaScript代码,使用AJAX将账号密码数据发送给验证文件,验证成功后跳转到指定页面。 ``` <script> $(document).ready(function(){ $("form").submit(function(event){ event.preventDefault(); var username = $("#username").val(); var password = $("#password").val(); $.post("check_login.php", { username: username, password: password }, function(data, status){ if (data == "success") { window.location.href = "home.php"; } else { alert("账号或密码错误!"); } }); }); }); </script> ``` 其中,$.post()函数用于发送POST请求,data为返回的数据,status为请求状态,window.location.href用于跳转页面。 以上就是PHP登录+链接+验证、PHP+AJAX验证登录跳转登录的实现方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值