微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ajax的不同使用方式

目录

servlet依赖

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>

servlet地址映射 web.xml

  <servlet>
    <servlet-name>GetInfo</servlet-name>
    <servlet-class>servlet.GetInfoServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>GetInfo</servlet-name>
    <url-pattern>/GetInfo</url-pattern>
  </servlet-mapping>

JavaScript源代码方式

在这里插入图片描述

get请求方式

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <center>
        <form onsubmit="return false">
            <label>用户名:
                <input type="text" id="name">
            </label><br/>
            <label>密码:
                <input type="password" id="password">
            </label><br/>
            <input type="submit" onclick="sendInfo()">
        </form>
    </center>
</body>

<script>
    function sendInfo(){
        //创建异步对象
        var xhr = new XMLHttpRequest();
        var name = document.getElementById("name").value;
        var password = document.getElementById("password").value;

        //绑定函数 请求成功后执行函数
        xhr.onreadystatechange = function (){
            //判断请求状态 满足这两个条件说明请求成功
            if (xhr.readyState === 4 && xhr.status === 200){
                //获取返回的数据 获取到的是servlet中输出页面的数据 servlet不会再输出页面
                var response = xhr.responseText;
                //截取返回的数据
                response = response.substring(0,7);
                if (response === "success"){
                    alert("注册成功\n你的用户名是:" + name + "\n密码是:" + password);
                }else {
                    alert("注册失败");
                }
            }
        }
        //请求方式 ,请求地址和请求参数
        xhr.open("get","GetInfo?name=" + name + "&password=" + password);
        //发送请求
        xhr.send();
    }
</script>

</html>

servlet

@WebServlet(name = "GetInfoServlet", value = "/GetInfoServlet")
public class GetInfoServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws servletexception, IOException {
        String name = request.getParameter("name");
        String password = request.getParameter("password");
        if (name.equals("张三") && password.equals("123")) {
//            success就是Ajax获取到的是据
            response.getWriter().println("success");
        } else {
//            false就是Ajax获取到的数据
            response.getWriter().println("false");
        }
    }
}

效果

在这里插入图片描述


post请求方式

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <center>
        <form onsubmit="return false" style="margin-top: 100px">
            <label>用户名:
                <input type="text" id="name">
            </label><br/>
            <label>密码:
                <input type="password" id="password">
            </label><br/>
            <input type="submit" onclick="sendInfo()">
        </form>
    </center>
</body>

<script>
    function sendInfo(){
        //创建异步对象
        var xhr = new XMLHttpRequest();
        var name = document.getElementById("name").value;
        var password = document.getElementById("password").value;

        //绑定函数 请求成功后执行函数
        xhr.onreadystatechange = function (){
            //判断请求状态 满足这两个条件说明请求成功
            if (xhr.readyState === 4 && xhr.status === 200){
                //获取返回的数据 获取到的是servlet中输出页面的数据 servlet不会再输出页面
                var response = xhr.responseText;
                //截取返回的数据
                response = response.substring(0,7);
                if (response === "success"){
                    alert("注册成功\n你的用户名是:" + name + "\n密码是:" + password);
                }else {
                    alert("注册失败");
                }
            }
        }
        //请求方式 ,请求地址,true表示发送一个异步请求,请求参数不直接添加到请求地址中
        xhr.open("post","GetInfo",true);
        //使用post请求方式要加这句
        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
        //发送请求,请求参数放到这里
        xhr.send("name="+name+"&password="+password);
    }
</script>

</html>

servlet

@WebServlet(name = "GetInfoServlet", value = "/GetInfoServlet")
public class GetInfoServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws servletexception, IOException {
        //        post请求方式要设置编码格式,不然获取到的表单数据乱码
        request.setCharacterEncoding("utf-8");
        String name = request.getParameter("name");
        String password = request.getParameter("password");
        if (name.equals("张三") && password.equals("123")) {
//            success就是Ajax获取到的是据
            response.getWriter().println("success");
        } else {
//            false就是Ajax获取到的数据
            response.getWriter().println("false");
        }
    }
}

效果

在这里插入图片描述



jQuery方式

在这里插入图片描述

get请求方式

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <center>
        <form onsubmit="return false" style="margin-top: 100px">
            <label>用户名:
                <input type="text" id="name">
            </label><br/>
            <label>密码:
                <input type="password" id="password">
            </label><br/>
            <input type="submit" id="put">
        </form>
    </center>
</body>
<!--导入jQuery文件-->
<script src="jquery-3.5.1.js"></script>
<script>
    $("#put").click(function (){
        var name = $("#name").val();
        var password = $("#password").val();

        //jQuery的Ajax请求格式
        $.ajax({
            //请求地址
            url:"GetInfo",
            //请求方式
            type:"GET",
            //返回数据类型
            dataType:"text",
            //请求参数
            data:{"name":name,"password":password},
            //是否异步请求
            async:true,
            //请求成功后执行函数,函数中的参数是返回的数据
            success:function (res){
                res = res.substring(0,7);
                if (res === "success"){
                    alert("注册成功\n你的用户名是:" + name + "\n密码是:" + password);
                }else {
                    alert("注册失败");
                }
            },
            //请求失败后执行函数
            error:function (){
                alert("请求失败");
            }
        })
    })
</script>

</html>

servlet

@WebServlet(name = "GetInfoServlet", value = "/GetInfoServlet")
public class GetInfoServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws servletexception, IOException {
        String name = request.getParameter("name");
        String password = request.getParameter("password");
        if (name.equals("张三") && password.equals("123")) {
//            success就是Ajax获取到的是据
            response.getWriter().println("success");
        } else {
//            false就是Ajax获取到的数据
            response.getWriter().println("false");
        }
    }
}

效果

在这里插入图片描述


post请求方式

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <center>
        <form onsubmit="return false" style="margin-top: 100px">
            <label>用户名:
                <input type="text" id="name">
            </label><br/>
            <label>密码:
                <input type="password" id="password">
            </label><br/>
            <input type="submit" id="put">
        </form>
    </center>
</body>
<!--导入jQuery文件-->
<script src="jquery-3.5.1.js"></script>
<script>
    $("#put").click(function (){
        var name = $("#name").val();
        var password = $("#password").val();

        //jQuery的Ajax请求格式
        $.ajax({
            //请求地址
            url:"GetInfo",
            //请求方式
            type:"POST",
            //返回数据类型
            dataType:"text",
            //请求参数
            data:{"name":name,"password":password},
            //是否异步请求
            async:true,
            //请求成功后执行函数,函数中的参数是返回的数据
            success:function (res){
                res = res.substring(0,7);
                if (res === "success"){
                    alert("注册成功\n你的用户名是:" + name + "\n密码是:" + password);
                }else {
                    alert("注册失败");
                }
            },
            //请求失败后执行函数
            error:function (){
                alert("请求失败");
            }
        })
    })
</script>

</html>

servlet

@WebServlet(name = "GetInfoServlet", value = "/GetInfoServlet")
public class GetInfoServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws servletexception, IOException {
        //        post请求方式要设置编码格式,不然获取到的表单数据乱码
        request.setCharacterEncoding("utf-8");
        String name = request.getParameter("name");
        String password = request.getParameter("password");
        if (name.equals("张三") && password.equals("123")) {
//            success就是Ajax获取到的是据
            response.getWriter().println("success");
        } else {
//            false就是Ajax获取到的数据
            response.getWriter().println("false");
        }
    }
}

效果

在这里插入图片描述



相关文章

JS(jQuery+Ajax)+ResultSet指针移动实现无限滚动效果

Ajax入门小案例

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐