异步编程|五分钟让你学会局部刷新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

                                相关文章
                                |
                                8月前
                                |
                                XML 前端开发 JavaScript
                                AJAX 前端开发利器:实现网页动态更新的核心技术
                                **AJAX** 允许网页在不刷新的情况下更新内容,实现异步与服务器交换数据。通过JavaScript的XMLHttpRequest对象,可发送和接收数据。当用户触发事件(如点击),函数向服务器发送GET请求,服务器响应后更新指定HTML部分。AJAX并非编程语言,而是利用浏览器内置对象、JavaScript和DOM技术。核心是XMLHttpRequest对象,它有多种方法(如`open()`和`send()`)和属性(如`onreadystatechange`、`readyState`和`status`)来处理请求和响应。
                                127 2
                                AJAX 前端开发利器:实现网页动态更新的核心技术
                                |
                                8月前
                                |
                                设计模式 前端开发 JavaScript
                                Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
                                Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
                                74 0
                                |
                                8月前
                                |
                                XML JSON 前端开发
                                JavaWeb----Ajax技术
                                JavaWeb----Ajax技术
                                90 0
                                |
                                8月前
                                |
                                前端开发 JavaScript API
                                Ajax技术的秘密揭秘:异步传输,高效交互
                                Ajax技术的秘密揭秘:异步传输,高效交互
                                |
                                2月前
                                |
                                XML 前端开发 JavaScript
                                PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
                                本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
                                56 3
                                |
                                2月前
                                |
                                JSON 前端开发 JavaScript
                                java-ajax技术详解!!!
                                本文介绍了Ajax技术及其工作原理,包括其核心XMLHttpRequest对象的属性和方法。Ajax通过异步通信技术,实现在不重新加载整个页面的情况下更新部分网页内容。文章还详细描述了使用原生JavaScript实现Ajax的基本步骤,以及利用jQuery简化Ajax操作的方法。最后,介绍了JSON作为轻量级数据交换格式在Ajax应用中的使用,包括Java中JSON与对象的相互转换。
                                57 1
                                |
                                5月前
                                |
                                前端开发 Java UED
                                告别页面刷新时代:Struts 2 Ajax技术揭秘,轻松实现动态加载,Web应用焕然一新!
                                【8月更文挑战第31天】在Web应用开发中,用户体验至关重要。为减少页面刷新带来的不适,Ajax技术应运而生。Struts 2作为流行的Java EE框架,通过内置的Ajax支持简化了无刷新页面动态加载的实现。本文通过对比传统请求响应模式,展示了Struts 2如何轻松实现Ajax功能,提升了用户体验和开发效率,并灵活地实现了数据交换。然而,使用Ajax时还需注意SEO和跨域请求等局限性。
                                46 0
                                |
                                7月前
                                |
                                JavaScript 前端开发 安全
                                安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
                                安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
                                |
                                7月前
                                |
                                数据采集 Web App开发 前端开发
                                技术心得记录:如何用JAVA爬取AJAX加载后的页面(转载)
                                技术心得记录:如何用JAVA爬取AJAX加载后的页面(转载)
                                |
                                8月前
                                |
                                前端开发 搜索推荐 安全
                                AJAX和CSR(客户端渲染)是Web开发中常用的两种技术
                                【5月更文挑战第8天】AJAX提升用户体验,减轻服务器压力,但对搜索引擎不友好且增加开发复杂度,易引发安全问题。CSR提供快速响应和交互性,改善用户体验,但首屏加载慢,搜索引擎支持不足,同样面临安全挑战。两者各有适用场景,需按项目需求选择。
                                66 0