AJAX

时间:2021-08-30 03:33:55   收藏:0   阅读:8

AJAX

Asynchronous JavaScript And XML:异步的JavaScript和XML

AJAX 可以实现在不刷新页面的前提下,进行页面的局部刷新。在 web 开发领域非常流行,但是 AJAX 不是 w3c 的标准。

原生JS使用步骤

  1. 创建核心对象:XmlHttpRequest
  2. 发送Ajax请求
  3. 处理服务器响应

Servlet:

@WebServlet("/ajaxServlet")
public class AJAXServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        resp.getWriter().println("<h1>欢迎访问本站</h1>");
    }
}

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>AJAX</title>
</head>
<body>
<!-- 要实现的效果是点击“加载”按钮,服务器传来的文本会显示在div中-->
<input type="button" id="btn" value="加载">
<div id="div1"></div>

<script>
    document.getElementById("btn").onclick = function (){
        // 1. 创建核心对象:XmlHttpRequest 下面的都是标准代码
        let xmlHttp;
        if(window.XMLHttpRequest){
            xmlHttp = new XMLHttpRequest();
        }else{
            //IE6以前的浏览器这样写
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    
        // 2. 发送Ajax请求
        //open方法可以设置请求方式、请求地址、异步还是同步
        xmlHttp.open("GET","/ajax/ajaxServlet",true);
        xmlHttp.send();
    
        // 3. 处理服务器响应
        xmlHttp.onreadystatechange = function (){
             //判断请求和响应是否成功
            if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
                let text = xmlHttp.responseText;
                let div1 = document.getElementById("div1");
                div1.innerHTML = text;
            }
        }
    }
</script>

</body>
</html>

同步和异步

同步是按照顺序一个一个来,不会乱掉,更不会出现上面代码没有执行完就执行下面的代码。缺点是解析的速度没有异步的快。
异步是接取一个任务,直接给后台,再接下一个任务,一直一直这样,谁的先读取完先执行谁的。缺点:没有顺序,谁先读取完先执行谁的,会出现上面的代码还没出来下面的就已经出来了,会报错。

AJAX对象详解

jQuery的GET方式实现AJAX

JQuery的POST方式实现AJAX

JQuery的通用方式实现AJAX

小结

原文:https://www.cnblogs.com/yellowchives/p/15202961.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!