AJAX 讲解

AJAX

文章末尾含有示例代码!!!


  • 简介:
    在这里插入图片描述

  • 原理:
    在这里插入图片描述

  • XMLHttpReuest 对象:
    在这里插入图片描述
  • XMLHttpReuest请求:
    在这里插入图片描述
  • XMLHttpReuest get请求:在这里插入图片描述
  • XMLHttpReuest post请求:
    在这里插入图片描述

  • readyState
    在这里插入图片描述

  • XMLHttpReuest 响应:
  • 如需获得来自服务器的响应,请使用XMLHttpRequest对象的responseTextresponseXML属性。
    在这里插入图片描述

代码示例:

get 请求:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        #res{width: 600px; heigth:200px; font-size: 50px; font-weight: bold; line-height: 200px;background-color: aqua}
    </style>
</head>
<body>
    <button id="btn">填充数据</button>
    <div id="res"></div>

    <script type="text/javascript">

<!--        获取页面控件-->
        var btn=document.getElementById("btn");
        var res=document.getElementById("res");

        //为按钮注册监听事件
        btn.addEventListener("click",function () {
                <!--        1.创建对象-->
                var xhr=new XMLHttpRequest();
                xhr.open("get","data");
                xhr.send();

                //    2.判断请求状态
                xhr.onreadystatechange=function () {
                    if(xhr.readyState==4&&xhr.status==200){
                        //完成对div的赋值
                        res.innerHTML=xhr.responseText;
                    }
                }
        })

    </script>
</body>
</html>
post 请求:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        #res{width: 600px; heigth:200px; font-size: 50px; font-weight: bold; line-height: 200px;background-color: aqua}
    </style>
</head>
<body>
<button id="btn">填充数据</button>
<div id="res"></div>

<script type="text/javascript">

    <!--        获取页面控件-->
    var btn=document.getElementById("btn");
    var res=document.getElementById("res");

    //为按钮注册监听事件
    btn.addEventListener("click",function () {
        <!--        1.创建对象-->
        var xhr=new XMLHttpRequest();
        xhr.open("post","data");
        //修改请求头信息
        xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
        //发送时携带数据
        xhr.send("name=zss&age=20");

        //    2.判断请求状态
        xhr.onreadystatechange=function () {
            if(xhr.readyState==4&&xhr.status==200){
                //完成对div的赋值
                res.innerHTML=xhr.responseText;
            }
        }
    })

</script>
</body>
</html>
servlet 服务器:
package com.qf;

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;
import java.io.PrintWriter;

@WebServlet(value = "/data")
public class serviceDataServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        String name=req.getParameter("name");
        String age=req.getParameter("age");

        String mess="hello ajax!!"+name+" "+age;
        PrintWriter printWriter=resp.getWriter();

        printWriter.write(mess);
        printWriter.flush();
        printWriter.close();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req,resp);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值