`
andrii
  • 浏览: 62436 次
  • 性别: Icon_minigender_1
  • 来自: 地球
社区版块
存档分类
最新评论

AJAX简单请求流程

阅读更多

AJAX页面无刷新。传输数据与接收数据都是通过JS代码来完成的。

要使用AJAX进行数据的传输,需要以下几个步骤:

第一步:获取数据传输的对象XMLHttpRequest,在获取的时候注意判断浏览器的类型

js 代码
  1. /*  
  2.     *最终目的只有一个,就是获得XMLHttpRequest对象(只有有了它以后,  
  3.     *才能以ajax方式发送请求数据)  
  4.     *函数内部的实现代码是为了兼容不同浏览器类型  
  5.     */  
  6.     function getAjaxObject(){   
  7.       var xmlHttpRequest;   
  8.       if(window.XMLHttpRequest){//Mozilla,IE7.0   
  9.         xmlHttpRequest = new XMLHttpRequest();   
  10.         if(xmlHttpRequest.overrideMimeType){   
  11.             xmlHttpRequest.overrideMimeType("text/xml");   
  12.         }   
  13.       }else if(window.ActiveXObject){//IE   
  14.         try{   
  15.           xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");   
  16.         }catch(e){   
  17.           try{   
  18.             xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");   
  19.             }catch(e){}   
  20.         }   
  21.       }   
  22.       return xmlHttpRequest;   
  23.     }  

第二步:调用XMLHttpRequest对象的open方法,open方法里面传递的参数分别为发送信息的方式、发送的目标、发送的布尔变量(我们打算提交的是一个异步的XMLHTTP请求,必须为 true)。

js 代码
  1. xmlHttpRequest.open(method,url,true);  

注意:如果是用的 post 方法传输数据,那么还需要添上一句

java 代码
  1. if("post"==method.toLowerCase()){   
  2.             xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");   
  3.         }  

第三步:设置响应的处理方法,即为响应数据的处理方法

js 代码
  1. /*具体负责处理服务器返回数据的函数*/  
  2. xmlHttpRequest.onreadystatechange = function (){   
  3.         //当服务器将数据返回给客户端时,readyState状态值为4     
  4.         if(xmlHttpRequest.readyState==4){     
  5.             //当服务器返回的数据是正常的数据时,status状态值为200   
  6.             if(xmlHttpRequest.status==200){   
  7.                 //通过XMLHttpRequest对象的responseText属性获取   
  8.                 //服务器返回的文本信息   
  9.                 var returnMsg = xmlHttpRequest.responseText;   
  10.                 //这里为具体的处理方式代码
  11.             }      
  12.         }   
  13.     }  

 上面3步完成以后,调用xmlHttpRequest对象的send () 方法就可以了。这里可以看出前面3个步骤是准备工作,把准备工作做好以后,xmlHttpRequest对象才发送请求。

分享到:
评论
1 楼 andrii 2007-07-27  
xmlHttpRequest.readyState的值有5个,他们分别表示:
readyState  状态               解释
0         未初始化      对象已创建,尚未调用open()
1         已初始化      调用open()方法以后
2         发送数据      调用send()方法以后
3         数据传送中    在已经接到部分数据,但尚未接收完成
4         完成          数据全部接收完成

相关推荐

    【卷一/共两卷】AJAX实战pdf高清版90M

    13.2.1 流程 13.2.2 不使用表格的HTML框架 13.2.3 采用CSS方法排版 13.3 加载RSS提要 13.3.1 全局作用域 13.3.2 Aiax预加载功能 13.4 增加丰富的渐变效果 13.4.1 跨浏览器的不透明规则 13.4.2 实现淡入/淡出渐变 ...

    Django中ajax发送post请求 报403错误CSRF验证失败解决方案

    今天学习Django框架,用ajax向后台发送post请求,直接报了403错误,说CSRF验证失败;先前用模板的话都是在里面加一个 {% csrf_token %} 就直接搞定了CSRF的问题了;很显然,用ajax发送post请求这样就白搭了; 文末...

    nodejs-ws-ajax-rest

    nodejs-ws-ajax-rest Nodejs-ws-ajax-rest 项目工作流程: 1- 客户端使用用户名注册(保存在 session.cookies 中) 2- 客户端连接到服务器 3- 客户端选择他将如何继续使用 websockets 或 ajax 请求连接到服务器 4- ...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    if else流程判断 while 循环 while 循环优化版本 for 循环及作业要求 第2周 本节鸡汤 模块初识 pyc是什么 python数据类型 bytes数据类型 列表的使用 元组与购物车程序练习 购物车程序练习实例 字符串常用操作 字典...

    imove:移动鼠标,从流程图生成代码

    Ajax请求和Node.js初始化API等多语言编译:无语言编译出码限制(例:支持JavaScript,Java编译出码)使用场景前端流程:某些点击事件,组件生命周期额外等。初步流程:某种Node.js或Serverless领域。前端+前端:前端...

    简单的SSM.txt

    他的执行流程是 Spring的MVC框架主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成 1. 客户端请求提交到DispatcherServlet 2. 由DispatcherServlet控制器查询一个或多个...

    java web 开发详解

    Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或 Annotation实现配置,运用Java面向对象的特点,面向抽象实现请求和响应的流程,支持...

    SpringMVC面试专题.pdf

    简单介绍下 springMVC 和 struts2 的区别有哪些? 8、SpingMvc 中的控制器的注解一般用那个,有没有别的注解可以替代? 9、 @RequestMapping 注解用在类上面有什么作用? 10、怎么样把某个请求映射到特定的方法上面? ...

    简单留言板

    仿jQuery选择器 取值设值val,html函数,show,hidden显示隐藏函数,fadeIn,fadeOut淡出函数,ajax简单封装,表单序列化... == 如何使用sqlite? 如何实现事务处理? 如何实现URL映射? 如何实现参数注入? 如何实现对象转...

    WEB安全测试

    10.4 截获和修改AJAX请求 216 10.5 截获和修改服务器响应 218 10.6 使用注入数据破坏AJAX 220 10.7 使用注入XML破坏AJAX 222 10.8 使用注入JSON破坏AJAX 223 10.9 破坏客户端状态 224 10.10 检查跨域访问 226 10.11 ...

    waterfall:瀑布流相册系统

    这是一个简单的瀑布流个人相册系统,是当初百度的前端面试题,花2天时间搞的,虽然通过面试,最后还是没去百度,而选择了鹅厂,具体功能...7、对ajax请求做了临时缓存,在同一个session里面,同样的ajax请求只请求一次

    service-mock-middleware

    ​ 这是express的一个简单的中间件,它通过拦截html页面上发出的ajax请求与mock配置文件中URL进行匹配,如果匹配成功则直接返回mock配置文件中返回的mock数据。mock配置位置默认为webpack入口文件同级目录下的mock...

    2021年最新java面试题--视频讲解(内部培训84个知识点超详细).rar

    简单介绍了一下Ajax Java面试题38.js和JQuery的关系 Java面试题39.jQuery中的常用选择器 Java面试题40.jQuery中页面加载完毕事件 Java面试题41.jQuery中Ajax和原生js实现Ajax的关系 Java面试题42.简单说一下html5 ...

    Python动态网页爬取

    简单的网页访问是无法获取完整的数据,需要对数据加载流程进行分析。针对不同的动态网页爬取方法,将分别用具体实例进行介绍。本博客主要是直接利用Ajax来获取数据。 页面分析 本博客以MTime电影网为例,主要爬取...

    浅析前端路由简介以及vue-router实现原理

    路由这个概念最先是...简单来说路由就是用来跟后端服务器进行交互的一种方式,通过不同的路径,来请求不同的资源,请求不同的页面是路由的其中一种功能。 前端路由 1. hash 模式 随着 ajax 的流行,异步数据请求交互

    Java实现秒杀系统实现

    添加“立即抢购”按钮,使用Ajax技术进行异步请求。 高并发优化:使用缓存技术,如Redis缓存库存信息,减少数据库查询次数;使用分布式锁确保订单操作的原子性;使用消息队列异步处理订单,减少数据库压力。 订单...

    JAVA上百实例源码以及开源项目

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    [完整][中文][WEB安全测试].(美)霍普.扫描版.pdf

    10.4 截获和修改AJAX请求 216 10.5 截获和修改服务器响应 218 10.6 使用注入数据破坏AJAX 220 10.7 使用注入XML破坏AJAX 222 10.8 使用注入JSON破坏AJAX 223 10.9 破坏客户端状态 224 10.10 检查跨域访问 226 10.11 ...

    ASP EXCEL导入SQL

    AJAX技术遵守REST准则的应用程序中简单和可伸缩的架构,凡是采用AJAX技术的页面简洁而又丰富,一个页面表现了丰富多彩的形态。  AJAX技术还使用了一种不同于XML格式的JSON文件格式,这个意义在哪里呢?在REST软件...

    JavaScript完全自学宝典 源代码

    \testJson\src\jsonExercise\JSONServlet.java 处理页面请求的Servlet。 \testJson\src\jsonExercise\ComdtyBean.java 商品信息的POJO。 \testJson\WebRoot\orderInfo.jsp 录入商品信息的JSP页面。 第21...

Global site tag (gtag.js) - Google Analytics