认识 ajax

认识 ajax

相关文章推荐:ajax视频教程

1.1 什么是ajax:

Ajax即“Asynchronous Javascript And XML”(异步JavaScript 和XML),是指一种创建交互式网页应用的网页开发技术。Ajax=异步JavaScript和XML(标准通用标记语言的子集)。通过在后台与服务器进行少量数据交换,Ajax可以使用网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新(无刷新技术)。传统的网页(不使用Ajax)如果需要更新内容,必须重载整个网页页面。

 1.2Ajax的应用场景

1.2.1 检查用户名是否已被注册:

很多站点的注册页面都具被自动检测用户名是否存在的友好提示,该功能整体页面并没有刷新,但仍然可以异步与服务器进行数据交换,查询用户输入的用户名是否存在数据库。

认识 ajax

 

1.2.2 省市级联下拉框联动:

很多站点都存在输入用户地址的操作,在完成地址输入时,用户所在的省份是下拉框,当选择不同的省份时会出现不同市区的选择,这就是最常见的省市联动效果。

认识 ajax

 1.2.3 内容自动补全:

不管时专注于搜索的百度,还是站点内商品搜索的淘宝,都有搜索的功能,在i搜索框输入查询关键字时,整个页面没有刷新,但会根据关键字显示相关查询字条,这个过程是异步的。

百度的搜索补全功能:

认识 ajax

淘宝的搜索补全功能:

认识 ajax

 1.3 同步方式与异步方式的区别

同步方式发送请求:发送一个请求,需要等待响应返回,然后才能够发送下一个请求,如果该请求没有响应,不能发送下一个请求,客户端会一直处于等待过程中。异步方式发送请求:发送一个请求,不需要等待响应返回,随时可以再发送下一个请求,即不需要等待。

 认识 ajax

 

 1.4 Ajax的原理分析

认识 ajax

 

AJAX引擎会在不刷新浏览器地址栏的情况下,发送异步请求:使用JavaScript获取浏览器内置的AJAX引擎(XMLHttpRequest对象)使用js确定请求路径和请求参数AJAX引擎对象根据请求路径和请求参数进行发送请求服务器接收到Ajax引擎的请求进行处理:服务器获得请求参数数据服务器处理请求业务(调用业务层代码)服务器响应数据给Ajax引擎Ajax引擎获得服务器响应的数据,通过执行JavaScript的回调函数将数据更新到浏览器页面的具体位置:通过设置给Ajax引擎的回调函数获取服务器响应的数据使用JavaScript在指定的位置,显示响应的数据,从而局部修改页面的数据,达到局部刷新的目的。

2.1js原生的Ajax

js原生的Ajax开发步骤:

创建Ajax引擎对象

为Ajax引擎对象绑定监听(监听服务器已将数据响应给引擎)

绑定提交地址

发送请求

监听里面处理响应数据

nbsp;html>        Title                    //同步请求点击事件        function sendRequest() {            //js刷地址栏请求服务器端            location.href = "Ajax1Servlet?name=admin&password=123abc";        }                //异步请求点击事件        function sendAsynRequest() {            //1.创建ajax引擎对象            var xmlHttp = new XMLHttpRequest();            //2.设置回调函数,目的是处理服务器完全返回的数据            xmlHttp.onreadystatechange = function () {                /**                 * 这个回调函数什么调用呢?是ajax引擎对象与服务器通信状态码改变的时候调用                 * ajax引擎对象与服务器通信状态码xmlHttp.readystate,范围0~4                 * 0:请求未初始化                 * 1:服务器连接已建立                 * 2:请求已接收                 * 3:请求处理中                 * 4:请求已完成,且响应已就绪                 * 这个回调函数一共被调用4次,但只有状态码4的时候才代表服务器响应完成数据完成。                 * ajax引擎通信转态码为4和http通信转态码为200                 */                if(xmlHttp.readyState==4 && xmlHttp.status==200){                    //获取响应数据                    var content = xmlHttp.responseText;                    alert(content);                }            }            //3.设置请求路径和请求参数            /**             * xmlHttp.open(method,url)             * method,请求方法,get或post请求             * url:请求路径             */            xmlHttp.open("get","Ajax1Servlet?name=admin&psw=abc123");            //4.发送请求            xmlHttp.send();        }    

登录后复制

package com.sunny.web;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;@WebServlet(name = "Ajax1Servlet", urlPatterns = "/Ajax1Servlet")public class Ajax1Servlet extends HttpServlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        doGet(request, response);    }    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        //获取请求参数        String name = request.getParameter("name");        String password = request.getParameter("password");        //打印出来        System.out.println("name="+name);        System.out.println("password="+password);        //输出数据前端        response.getWriter().write("hello js ajax");    }}

登录后复制

2.2 Ajax引擎连接状态readyState值0~4变化过程

认识 ajax

存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。0: 请求未初始化1: 服务器连接已建立2: 请求已接收3: 请求处理中4: 请求已完成,且响应已就绪 

这里状态值4只能说明接收到了服务器的响应服务器处理ajax请求结束,但是不能代表正确的获取了服务器的响应,需要配合http状态码200两个条件就可以说明正确的获取了服务器响应。只有这两个条件满足,xmlhttp.responseText才可以获取到正确的响应数据。 

xmlhttp.onreadystatechange = function(){if(xmlhttp.readyState == 4){if(xmlhttp.status == 200){alert("响应数据" + xmlhttp.responseText);}}};

登录后复制

相关学习推荐:javascript学习教程

以上就是认识 ajax的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2725533.html

(0)
上一篇 2025年3月7日 23:23:56
下一篇 2025年2月18日 01:01:01

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • ASP.NET下使用Ajax

    之前在认识Ajax初步理解中介绍了对Ajax的初步理解,本文将介绍在ASP.NET中如何方便使用Ajax,第一种当然是使用jQuery的ajax,功能强大而且操作简单方便,第二种是使用.NET封装好的ScriptManager。 相关免费学…

    2025年3月7日 编程技术
    200
  • jquery和ajax是什么?

    Ajax是指一种创建交互式网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术;而jquery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果。…

    2025年3月7日
    200
  • 详解ajax实现excel报表导出

    推荐(免费):ajax视频教程 利用ajax实现excel报表导出【解决乱码问题】,供大家参考,具体内容如下 背景 项目中遇到一个场景,要导出一个excel报表。由于需要token验证,所以不能用a标签;由于页面复杂,所以不能使用表单提交。…

    2025年3月7日
    200
  • jQuery JavaScript ajax区别是什么

    jQuery JavaScript ajax区别:1、javaScript广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能;2、AJAX创建交互式网页应用的网页开发技术;3、jQuery方便地为网站提供AJAX交互。 j…

    2025年3月7日
    200
  • 如何解决jquery ajax乱码问题

    jquery ajax乱码的解决办法就是在文件头部加上编码说明“header(“Content-type:text/html;charset:gbk”);”即可。 推荐:《jquery视频教程》 本教程操作环境:wi…

    2025年3月7日
    200
  • jquery与ajax的区别是什么

    jquery与ajax的区别:1、Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新;2、jQuery是一个库,它对JS进行了封装,使其更方便使用。 该方法适用于所有品牌电脑 jqu…

    2025年3月7日
    200
  • 实现springmvc结合ajax批量新增的方法

    ajax视频教程栏目主要介绍了springmvc结合ajax批量新增的实现方法 推荐(免费):ajax视频教程 1.需要注意的问题 mvc框架的处理日期问题@ResponseBody响应对象是自定义对象,响应不是json@ResopnseB…

    2025年3月7日 编程技术
    200
  • jquery和ajax的区别是什么

    jquery和ajax的区别:1、Ajax是一种异步请求技术,而jQuery对Ajax进行了封装,更方便我们使用;2、Ajax是一门技术,它提供了异步更新的机制,而jQuery是一个库,它对JS进行了封装。 AJAX AJAX即“Async…

    2025年3月7日
    200
  • ajax与jquery的区别是什么

    区别:jQuery是一个javascript封装的代码库,里面是封装了经常用的一些函数,属于javascript的范畴;而ajax是xmlhttprequest、js、xml三种技术的集合,属于技术范畴。 本教程操作环境:windows7系…

    2025年3月7日
    200
  • 详解springmvc 结合ajax批量新增的实现方法

    ajax视频教程栏目介绍ajax批量新增的方法 推荐(免费):ajax视频教程 1.需要注意的问题 mvc框架的处理日期问题@ResponseBody响应对象是自定义对象,响应不是json@ResopnseBody响应自定义对象时,日期为是…

    2025年3月7日 编程技术
    200

发表回复

登录后才能评论