异步编程|五分钟让你学会局部刷新Ajax技术

简介: Ajax是Asynchronous JavaScript and XML的缩写,是JavaScript、XML、CSS、DOM等多个技术的组合。Ajax的工作原理是一个页面的指定位置...

 image.gif

image.gif

前言

Ajax是Asynchronous JavaScript and XML的缩写,是JavaScript、XML、CSS、DOM等多个技术的组合。Ajax的工作原理是一个页面的指定位置可以加载另一个页面所有的输出内容,这样就实现了一个静态页面也能获取到数据库中的返回数据信息了。所以Ajax技术实现了一个静态网页在不刷新整个页面的情况下与服务器通信,减少了用户等待时间,同时也降低了网络流量,增强了客户体验的友好程度。本文将为大家详细介绍关于Ajax的工作原理以及实现步骤。

公众号:「浅羽的IT小屋」

1. Ajax的概念?

「以前浏览器如何实现通信呢:」

    • Jsp页面发送请求--->servlet进行接收--->数据放到域对象--->转发给jsp页面

    网络异常,图片无法展示
    |
    image.gif

      • 同步的发送请求:这个请求的特点,我们每一次的转发,浏览器都要重新渲染整个页面、假设我的页面有100k的数据,只有1k的数据需要刷新,如果使用转发的方式的话那么每一次渲染的数据都是100k,这样浏览器的渲染压力就变大了

      「Ajax技术实现通信:」

        • 引入Ajax:假设我们使用了Ajax的技术的话,那么我们这100k的数据我们有99k的数据都不需要刷新,只是需要刷新这1k的数据,这就是Ajax

        网络异常,图片无法展示
        |
        image.gif

          • 在一开始的时候,所有的浏览器并不支持所谓的局部刷新技术,而且一开始大多数的浏览器并不看好这门技术,这个时候微软首先就在IE浏览器中引入了异步请求的这个概念,到后来看到了Ajax在浏览器上的优秀表现,于是其他的浏览器厂商也就引入了Ajax这个技术
          • 含义:Ajax是用于网页上面进行局部刷新的一门技术

          2、Ajax技术的优缺点

          「Ajax技术优点:」

            • 核心技术:Ajax的核心技术是XMLHttpRequest,它是JavaScript中的一个对象
            • 减轻了服务器端负担,将一部分以前由服务器负担的工作转移到客户端执行,利用客户端闲置的资源进行处理
            • 在只局部刷新的情况下更新页面,增加了页面反应速度,使用户体验更友好

            「Ajax技术缺点:」

              • Ajax的缺点是不利于SEO推广优化,因为搜索引擎无法直接访问到Ajax请求的内容

              3、Ajax技术能干嘛?

              「主要作用:」

                • 发送同步或者异步请求
                • 进行网页的局部刷新
                • 下拉列表的数据来源于服务器的这种
                • 做前后分离的开发
                • 表单元素的动态认证

                4、Ajax技术的具体使用

                「使用步骤:」

                  • 创建获取Ajax对象的方法
                  function getAjax () {
                      var ajax;
                      try{
                       ajax=new ActiveXObject("microsoft.xmlhttp");
                      }catch(e){
                       try{
                        ajax=new XMLHttpRequest();
                       }catch(e){
                        alert('异步都没有 换浏览器吧....');
                       }
                      }
                      return ajax;
                    }

                  image.gif

                    • 获取Ajax对象
                    var ajax=getAjax();

                    image.gif

                      • 准备发送Ajax请求
                      ajax.open("GET","${pageContext.request.contextPath}/dates.action");

                      image.gif

                        • 发送Ajax请求
                        ajax.send(null);

                        image.gif

                          • 监听Ajax中4种状态
                          ajax.onreadystatechange=function(){
                                  if(ajax.readyState==4){ /
                              }
                          }

                          image.gif

                            • 判断服务器是否成功响应
                            if(ajax.status==200){//说明服务器的响应是正确的
                                    var time=ajax.responseText;
                                    //要将这个数据直接赋值给一个一个标签
                                    document.getElementsByTagName('span')[0].innerText=time;
                                  }

                            image.gif

                              • Get方法数据传输(放到url后面)
                              ajax.open("GET","${pageContext.request.contextPath}/dates.action?userName=qianyu&password=123");

                              image.gif

                                • Post方式发送请求和数据
                                //设置请求头       
                                ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
                                //发送数据
                                ajax.send("userName=qianyu&password=123");

                                image.gif

                                结语

                                本篇关于Ajax的介绍就先到这里结束了,后续会出更多关于Ajax系列更多文章,谢谢大家支持!

                                image.gif

                                相关文章
                                |
                                2月前
                                |
                                XML 前端开发 JavaScript
                                AJAX 前端开发利器:实现网页动态更新的核心技术
                                **AJAX** 允许网页在不刷新的情况下更新内容,实现异步与服务器交换数据。通过JavaScript的XMLHttpRequest对象,可发送和接收数据。当用户触发事件(如点击),函数向服务器发送GET请求,服务器响应后更新指定HTML部分。AJAX并非编程语言,而是利用浏览器内置对象、JavaScript和DOM技术。核心是XMLHttpRequest对象,它有多种方法(如`open()`和`send()`)和属性(如`onreadystatechange`、`readyState`和`status`)来处理请求和响应。
                                61 2
                                AJAX 前端开发利器:实现网页动态更新的核心技术
                                |
                                3月前
                                |
                                设计模式 前端开发 JavaScript
                                Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
                                Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
                                22 0
                                |
                                3月前
                                |
                                XML JSON 前端开发
                                JavaWeb----Ajax技术
                                JavaWeb----Ajax技术
                                58 0
                                |
                                4月前
                                |
                                前端开发 JavaScript API
                                Ajax技术的秘密揭秘:异步传输,高效交互
                                Ajax技术的秘密揭秘:异步传输,高效交互
                                |
                                4月前
                                |
                                XML JSON 前端开发
                                Ajax技术【Ajax技术详解、 Ajax 的使用、Ajax请求、 JSON详解、JACKSON 的使用 】(一)-全面详解(学习总结---从入门到深化)
                                Ajax技术【Ajax技术详解、 Ajax 的使用、Ajax请求、 JSON详解、JACKSON 的使用 】(一)-全面详解(学习总结---从入门到深化)
                                60 1
                                |
                                3天前
                                |
                                前端开发 搜索推荐 安全
                                AJAX和CSR(客户端渲染)是Web开发中常用的两种技术
                                【5月更文挑战第8天】AJAX提升用户体验,减轻服务器压力,但对搜索引擎不友好且增加开发复杂度,易引发安全问题。CSR提供快速响应和交互性,改善用户体验,但首屏加载慢,搜索引擎支持不足,同样面临安全挑战。两者各有适用场景,需按项目需求选择。
                                9 0
                                |
                                10天前
                                |
                                XML 前端开发 JavaScript
                                【JavaScript技术专栏】JavaScript网络请求与Ajax技术
                                【4月更文挑战第30天】Ajax是Web开发中实现动态数据更新的关键技术,允许不刷新页面即从服务器获取数据。它结合了HTML/CSS、DOM、XML/JSON和JavaScript。`XMLHttpRequest`是传统的Ajax实现方式,而`fetch` API是现代、简洁的替代选项。Ajax应用实例展示了如何使用fetch在搜索框输入时异步获取并显示结果,提升了用户体验。掌握这些技术对前端开发者至关重要。
                                |
                                19天前
                                |
                                JSON 前端开发 JavaScript
                                JavaScript原生实现AJAX技术详解
                                【4月更文挑战第22天】本文详细介绍了使用原生JavaScript实现AJAX技术,包括基本原理和步骤。AJAX借助`XMLHttpRequest`对象实现异步通信,允许网页在不刷新情况下与服务器交换数据。文中提供示例展示了如何创建请求、设置回调函数、处理响应数据以及设置请求头和发送不同类型的数据。此外,还讨论了跨域问题及其解决方案,如CORS和JSONP。掌握这些基础知识对前端开发者至关重要,尽管现代框架提供了更高级的抽象。
                                |
                                4月前
                                |
                                JSON 前端开发 JavaScript
                                探秘 AJAX:让网页变得更智能的异步技术(下)
                                探秘 AJAX:让网页变得更智能的异步技术(下)
                                探秘 AJAX:让网页变得更智能的异步技术(下)
                                |
                                4月前
                                |
                                XML 前端开发 JavaScript
                                探秘 AJAX:让网页变得更智能的异步技术(上)
                                探秘 AJAX:让网页变得更智能的异步技术(上)
                                探秘 AJAX:让网页变得更智能的异步技术(上)