jQuery与AJAX

请添加图片描述

load()方法

load(url [,data] [,callback])
url:地址
data:请求时的参数
callback:无论请求成功或失败时的回调函数,参数有响应文本、状态码、以及xhr实例。

创建公共页面common.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        $(function () {
            $("#but1").click(function () {
                // 将comment.html加载进id为“resText”的元素里
                $("#div1").load("insert1.html");
            });
        })

    </script>
</head>
<body>
<h1>JSp学习</h1>
<hr>
<button id="but1">引入insert1.html</button>
<div id="div1"></div>
</body>
</html>

创建需要被请求的页面insert1.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>插入了1</h1>
<p id="p1">insert1.html里的p</p>
</body>
</html>

也可以只请求insert1里的

:

$("#div1").load("insert1.html #p1");

运行结果:
在这里插入图片描述
在这里插入图片描述

回调函数

$("#resText").load("comment.html", function (responseText, textStatus, XMLHttpRequest) {
	alert(responseText);		// 请求返回的内容
    alert(textStatus);			// 请求状态
    alert(XMLHttpRequest);		// XMLHttpRequest对象
});
<script>
        $(function () {
            $("#but1").click(function () {
                // 将comment.html加载进id为“resText”的元素里
                $("#div1").load("insert1.html #p1" ,function (responseText, textStatus, XMLHttpRequest) {
                    alert("请求内容:"+responseText+" 请求状态:"+textStatus+" XMLHttpRequest对象:"+XMLHttpRequest)
                });
            });
        })

    </script>

运行结果
请添加图片描述

.get()与.post()

$.get()

$.get(url [, data] [, callback] [, type])
url:请求地址
data:请求时的参数
callback:请求成功时被调用,将请求结果和状态传递给该方法。
type:服务器返回的类型

创建被请求的页面:insert2.jsp

<%--
  Created by IntelliJ IDEA.
  Date: 1/11/2021
  Time: 下午7:10
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String user = request.getParameter("user");
    out.print("<h1>输入的账号是:"+user+"</h1>");
%>

创建公共页面common.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        $(function () {       
            $("#but2").click(function () {
                    $.get(
                        "insert2.jsp",//url
                        {user: encodeURI($("#user").val())},//参数,encodeURI编码
                        function (data,textStatus) {
                            $("#div2").html(decodeURI(data));//decodeURI进行解码
                            $("#div3").text(textStatus);//decodeURI进行解码
                        }
                    )
            }
            );
        })

    </script>
</head>
<body>
<h1>JSp学习</h1>
<hr>
<button id="but2">请求insert2.jsp</button>
<label>
    输入账号:
    <input id="user" type="text">
</label>
<!--<div id="div1"></div>-->
<hr>
<div id="div2"></div>
<div id="div3"></div>
</body>
</html>

运行结果:
在这里插入图片描述

JSON数据

$.post()

与.get()用法相同,但含义有所不同

AJAX

  • url:链接地址,字符串表示
  • data:需发送到服务器的数据,GET与POST都可以,格式为{A: ‘…’, B: ‘…’}
  • type:“POST” 或 “GET”,请求类型
  • timeout:请求超时时间,单位为毫秒,数值表示
  • cache:是否缓存请求结果,bool表示
  • contentType:内容类型,默认为"application/x-www-form-urlencoded"
  • dataType:服务器响应的数据类型,字符串表示;当填写为json时,回调函数中无需再对数据反序列化为json
  • success:请求成功后,服务器回调的函数
  • error:请求失败后,服务器回调的函数
  • complete:请求完成后调用的函数,无论请求是成功还是失败,都会调用该函数;如果设置了success与error函数,则该函数在它们之后被调用
  • async:是否异步处理,bool表示,默认为true;设置该值为false后,JS不会向下执行,而是原地等待服务器返回数据,并完成相应的回调函数后,再向下执行

注意引号

创建需要被请求的页面insert3.jsp

<%--
  Created by IntelliJ IDEA.
  Date: 1/11/2021
  Time: 下午7:36
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String pws = request.getParameter("pws");
    out.print("<h1>输入的密码是:"+pws+"</h1>");
%>

创建公共页面common.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        $(function () {
      
            $("#but4").click(function () {
                $.ajax(
                    {
                        type:"get",
                        url:"insert3.jsp",
                        data: {pws:decodeURI($("#pws").val())},
                        success:function (data, textStatus) {
                            $("#div4").html(decodeURI(data))
                        },
                        errors: function (XMLHttpRequest, textStatus, errorThrown) {
                            $("#div4").text("textStatus:"+textStatus)
                        }
                    }

                )
            })
        })

    </script>
</head>
<body>
<h1>JSp学习</h1>
<hr>
<button id="but4">AJAX</button>
<label>
    输入密码:
    <input id="pws" type="text">
</label>
<div id="div4"></div>
</body>
</html>
posted @ 2021-11-01 20:34  鱼七3255186114  阅读(33)  评论(0)    收藏  举报