简单易懂:Ajax入门实例详解(登录功能)

前言:不积跬步无以至千里,不积小流无以成江河!

废话不多,以最简练的语言和实例初步了解Ajax!

 

一、Ajax简介

Ajax(Asynchronous JavaScript and XML)是一种基于Web技术的编程实现方式,它使用JavaScript和XML来实现异步的数据交互。JavaScript负责发起请求和处理响应,而XML则负责将数据与页面分离。Ajax能够在不刷新整个页面的情况下更新页面内容,提高了页面的响应速度和用户体验。

 

 二、Ajax用法

 

以JQuery写法:

<script>

$Ajax{

url:请求的页面地址

method:请求方法(POST、GET、DELETE等等)

data 传输数据

{

data1:数据1

data2:数据2

}

dataType:数据类型

success:function()请求成功后执行的方法

error:function()请求失败后执行的方法

</script>

结合 一个简单的登录页面来理解:

 

<body>
<div>
    <span>账号:</span>
    <input type="text"  name="username">
    <br>
    <span>密码:</span>
    <input type="password"  name="password">
    <br>
    <button >登录</button>
</div>
</body>

 其Ajax请求用法如下:

即获取两个输入框内值,传递给后端控制器进行逻辑处理,返回值为true则说明匹配成功则控制台打印成功!

<script>
    $("button").click(function () {
        var Username=$("input[name='username']").val();
        var Password=$("input[name='password']").val();
        $.ajax(
            {
                url:"LoginAjax",
                method:"post",
                data:
                    {
                        username:Username,
                        password:Password
                    },
                dataType:"json",
                success:function (Result)
                {
                    
                        console.log(“登录成功!”);
                   
                }
            });
    });
</script>

三、实例演示

1、创建一个LoginAjax的jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <script src="js/jquery-3.1.1.min.js"></script>
    <style>
        div{
            position: relative;
            left: 40%;
            top: 30%;
            float: left;
        }
    </style>
</head>
<body>
<div>
    <span>账号:</span>
    <input type="text"  name="username">
    <br>
    <span>密码:</span>
    <input type="password"  name="password">
    <br>
    <button >登录</button>
</div>
<script>
    $("button").click(function () {
        var Username=$("input[name='username']").val();
        var Password=$("input[name='password']").val();
        $.ajax(
            {
                url:"LoginAjax",
                method:"post",
                data:
                    {
                        username:Username,
                        password:Password
                    },
                dataType:"json",
                success:function (Result)
                {
                    if (Result.result)
                    {
                        location.href="index.jsp";
                        console.log(Result.message);
                    }
                    else console.log(Result.message);
                }
            });
    });
</script>
</body>
</html>

 2、编写LoginAjax类继承HTTPSerlet

package com.example.javatest;
import com.fasterxml.jackson.databind.ObjectMapper;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/LoginAjax")
public class LoginAjax extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//无论是GET还是POST都能用Get方法实现
        doGet(req, resp);
    }
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String username=request.getParameter("username");
        String password=request.getParameter("password");
        ResultMap Rm=new ResultMap();
        request.setCharacterEncoding("utf-8");
        try {
            if (username.equals("admin")&&password.equals("pwd"))
            {
                Rm.setMessage("Success!");
                Rm.setResult(true);
            }
            else
            {
                Rm.setResult(false);
                Rm.setMessage("False!");
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        ObjectMapper Om=new ObjectMapper();//把对象转换成json格式
        String jason=Om.writeValueAsString(Rm);
        response.getWriter().println(jason);

    }
}

3、结果集类ResultMap

package com.example.javatest;
public class ResultMap {
    protected String message;
    protected  boolean result;

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public boolean getResult() {
        return result;
    }

    public void setResult(boolean result) {
        this.result = result;
    }
}

四、结果测试

启动TomaCat,浏览器访问对应的页面输入账号密码:

密码错误:

密码正确:

跳转到主页

 

发文不易,恳请大佬们高抬贵手!


点赞:随手点赞是种美德,是大佬们对于本人创作的认可!


评论:往来无白丁,是你我交流的的开始!


收藏:愿君多采撷,是大佬们对在下的赞赏!

 

  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kook小辉的进阶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值