ajax的工作原理以及异步请求的封装介绍
Ajax原理:
客户端通过浏览器的内置对象XMLHttpRequest来发送异步请求,当服务器返回响应时,会调用先前注册的回调函数,在回调函数中可以使用javascript操作DOM来更新页面,异步请求不会阻塞客户端的操作,达到页面无法刷新就可以更新数据的效果。
异步请求的封装:
代码如下:
var xhr=false;
//step1:创建一个兼容浏览器各个版本的XMLHttpRequest对象
if (window.XMLHttpRequest) { //IE7+, Firefox, Chrome, Opera, Safari
xhr = new XMLHttpRequest();
} else {
if (window.ActiveXObject) { //IE浏览器
xhr = new ActiveXObject("Microsoft.XMLHTTP");//IE5+
}
}
//step2:设置回调函数
xhr.onreadystatechange = myCallback;
//step3:创建一个异步请求
xhr.open("method", "url", true);
//如果是post:要设置请求消息体数据的编码方式
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//step4:发送异步请求
xhr.send(content); //如果是get方式 content为null,若为post,content为“名=值”对。
相关推荐
-
jquery的ajax异步请求接收返回json数据实例
jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发送设置的datatype设置为jsonp格式数据或json格式都可以. 代码示例如下: 复制代码 代码如下: $('#send').click(function () { $.ajax({ type : "GET", url : "a.php", dataType : "json
-
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
情景 目前有个需求是在文本框填入内容,自动触发keyup事件,下拉列表会自动过滤相应的选项,但是使用了$,ajax后发现,每次触发事件时,都导致整个网页闪烁,触发了全局ajax事件 代码片段 $.ajax({ type: "POST", url: root + "/xxx, data: requestData, dataType: "json", success: function(data){ // 清空列表 $("#formOpinion #
-
ajax 同步请求和异步请求的差异分析
ajax同步和异步的差异, 先看2段代码: 代码一: 复制代码 代码如下: Synchronize = function(url,param) { function createXhrObject() { var http; var activeX = [ "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP" ]; try { http = new XMLHttpRequest;
-
AJAX实现简单的注册页面异步请求实例代码
AJAX简介 (1)AJAX = 异步 JavaScript 和 XML. (2)AJAX 是一种用于创建快速动态网页的技术. (3)通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. (4)传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面. 简单布局 JS先判断,把前端可以的判断做,减少服务器的交互 $('button').on('click',function(){; var boolu
-
四步轻松实现ajax发送异步请求
ajax发送异步请求,供大家参考,具体内容如下 第一步(得到XMLHttpRequest) ajax其实只需要学习一个对象:XMLHttpRequest,如果掌握了它,就掌握了ajax!!! 1.得到XMLHttpRequest 大多数浏览器都支持:var xmlHttp=new XMLHttpRequest(); IE6.0:var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); IE5.0以更早版本的IE:var xmlHttp=new A
-
Vue form 表单提交+ajax异步请求+分页效果
废话不多说了,直接给大家贴代码了,具体代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta charset="UTF-
-
SpringMVC环境下实现的Ajax异步请求JSON格式数据
一 环境搭建 首先是常规的spring mvc环境搭建,不用多说,需要注意的是,这里需要引入jackson相关jar包,然后在spring配置文件"springmvc-servlet.xml"中添加json解析相关配置,我这里的完整代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schem
-
ajax异步请求详解
做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.com学习,教程完善,适合初学者快速入门. jQuery的引用,可以通过下载js文件导入,或通过外部导入 <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"
-
dojo学习第二天 ajax异步请求之绑定列表
用户不喜欢滚动条,于是我们做成了选项卡切换,用户不喜欢刷新页面,于是我们就要使用ajax了,前些年,几乎每个web端开发人员,都以懂得一点点ajax而自豪,但知道使用ajax是远远不够的,因为技术是为人而服务的,不能滥用技术,你总不能为了验证一个文本框textbox而去异步请求一次.我还遇到过有人,更新用户信息的时候,使用ajax更新,用户信息中的图片,又使用回发来更新,一个更新中,先ajax卡在那,然后再回发,你说这是多么2的行为?这种人还不少,我还遇到过有人用ajax更新后再location
-
Ajax异步请求JSon数据(图文详解)
上一篇讲了Ajax请求数据text类型,text和html都是处理比较简答的数据,而在编程过程中使用Ajax调用数据的时候,难免要进行逻辑的处理,接受的数据也变的复杂比如数组类型的数据,这时候就需要使用JSON数据类型进行处理,今天就说说,JSON数据请求过程中的一些细节: 我们友情提醒本文所需工具和原料如下: wamp或lamp环境.jquery.js.编辑器 具体方法/步骤请看下面: 1.创建基本的文件结构json_ajax.html和json_ajax.php,下载jquery.js,如图
随机推荐
- JavaScript的ExtJS框架中表格的编写教程
- Angular.js实现注册系统的实例详解
- 每天一个linux命令之locate 命令
- Oracle日期函数简介
- 在iOS10系统中微信后退无法发起ajax请求的问题解决办法
- 微信小程序 参数传递实例代码
- javascript拖拽应用实例(二)
- JS模拟的腾讯微博app撕纸效果的实例代码
- php遍历删除整个目录及文件的方法
- php 删除数组元素
- Python+Wordpress制作小说站
- silverlight实现图片局部放大效果的方法
- Android 限制edittext 整数和小数位数 过滤器(详解)
- Android持久化技术之SharedPreferences存储实例详解
- mysql修改数据库编码(数据库字符集)和表的字符编码的方法
- Android通过滑动实现Activity跳转(手势识别器应用)
- php cookie工作原理与实例详解
- node.js require() 源码解读
- 基于ajax html实现文件上传技巧总结
- 修改WordPress中文章编辑器的样式的方法详解