Ajax+js实现异步交互

一提到异步交互大家就会说ajax,仿佛ajax这个技术已经成为了异步交互的代名词.那下面将研究ajax的核心对象!

利用ajax实现异步交互无非4步:

创建ajax核心对象 与服务器建立连接 向服务器发送请求 接收服务器响应的数据

看似神秘的异步交互当明确这4步后,也许在大家脑海里已经有了初步的思路了

首先我们创建ajax的核心对象,由于浏览器的兼容问题我们在创建ajax核心对象的时候不得考虑其兼容问题,因为要想实现异步交互的后面步骤都基于第一步是否成功的创建了ajax核心对象.

function getXhr(){ // 声明XMLHttpRequest对象 var xhr = null; // 根据浏览器的不同情况进行创建 if(window.XMLHttpRequest){ // 表示除IE外的其他浏览器 xhr = new XMLHttpRequest(); }else{ // 表示IE浏览器 xhr = new ActiveXObject('Microsoft.XMLHttp'); } return xhr; } // 创建核心对象 var xhr = getXhr();

通过上述代码我们已经成功的创建了ajax核心对象,我们保存在变量xhr中,接下来提到的ajax核心对象都将以xhr代替.

第二步就是与服务器建立连接,通过ajax核心对象调用open(method,url,async)方法.

open方法的形参解释:

method表示请求方式(get或post)

url表示请求的php的地址(注意当请求类型为get的时候,请求的数据将以问号跟随url地址后面,下面的send方法中将传入null值)

async是个布尔值,表示是否异步,默认为true.在最新规范中这一项已经不在需要填写,因为官方认为使用ajax就是为了实现异步.

xhr.open("get","01.php?user=xianfeng");//这是get方式请求数据 xhr.open("post","01.php");//这是以post方式请求数据

第三步我们将向服务器发送请求,利用ajax核心对象调用send方法

如果是post方式,请求的数据将以name=value形式放在send方法里发送给服务器,get方式直接传入null值

xhr.send("user=xianfeng");//这是以post方式发送请求数据 xhr.send(null);//这是以get方式

第四步接收服务器响应回来的数据,使用onreadystatechange事件监听服务器的通信状态.通过readyState属性获取服务器端当前通信状态.status获得状态码,利用responseText属性接收服务器响应回来的数据(这里指text类型的字符串格式数据).后面再写XML格式的数据和大名鼎鼎的json格式数据.

xhr.onreadystatechange = function(){                // 保证服务器端响应的数据发送完毕,保证这次请求必须是成功的    if(xhr.readyState == 4&&xhr.status == 200){       // 接收服务器端的数据       var data = xhr.responseText;        // 测试        console.log(data);    } };

时间: 2024-09-15 19:05:34

Ajax+js实现异步交互的相关文章

Ajax+js实现异步交互_AJAX相关

一提到异步交互大家就会说ajax,仿佛ajax这个技术已经成为了异步交互的代名词.那下面将研究ajax的核心对象! 利用ajax实现异步交互无非4步: 创建ajax核心对象 与服务器建立连接 向服务器发送请求 接收服务器响应的数据 看似神秘的异步交互当明确这4步后,也许在大家脑海里已经有了初步的思路了 首先我们创建ajax的核心对象,由于浏览器的兼容问题我们在创建ajax核心对象的时候不得考虑其兼容问题,因为要想实现异步交互的后面步骤都基于第一步是否成功的创建了ajax核心对象. functio

Ajax简单的异步交互及Ajax原生编写_AJAX相关

一提到异步交互大家就会说ajax,仿佛ajax这个技术已经成为了异步交互的代名词.那下面将研究ajax的核心对象! 利用ajax实现异步交互无非4步: 1.创建ajax核心对象 2.与服务器建立连接 3.向服务器发送请求 4.接收服务器响应的数据 看似神秘的异步交互当明确这4步后,也许在大家脑海里已经有了初步的思路了 首先我们创建ajax的核心对象,由于浏览器的兼容问题我们在创建ajax核心对象的时候不得考虑其兼容问题,因为要想实现异步交互的后面步骤都基于第一步是否成功的创建了ajax核心对象.

Ajax简单的异步交互及Ajax原生编写

一提到异步交互大家就会说ajax,仿佛ajax这个技术已经成为了异步交互的代名词.那下面将研究ajax的核心对象! 利用ajax实现异步交互无非4步: 1.创建ajax核心对象 2.与服务器建立连接 3.向服务器发送请求 4.接收服务器响应的数据 看似神秘的异步交互当明确这4步后,也许在大家脑海里已经有了初步的思路了 首先我们创建ajax的核心对象,由于浏览器的兼容问题我们在创建ajax核心对象的时候不得考虑其兼容问题,因为要想实现异步交互的后面步骤都基于第一步是否成功的创建了ajax核心对象.

《Web异步与实时交互——iframe AJAX WebSocket开发实战》—— 第2章 iframe实现模拟异步交互

第2章 iframe实现模拟异步交互 Web异步与实时交互--iframe AJAX WebSocket开发实战最初,客户端只能通过设定自动刷新时间的方式(如使用标签,或通过JavaScript代码进行设定)使浏览器主动刷新,向服务器端发送请求,以轮询的方式获取服务器端的最新信息.通常情况下,用户要获取最新的信息,必须刷新浏览器中的整个页面来获取服务器端的响应数据.但是,在多数情况下页面中需要更新的信息只是很小一部分,其他信息不变.这样,在刷新整个页面时,不仅传送了额外的信息,增加了网络的负担,

IT新技术名词:AJAX和SOAP——异步数据和XML获取

ajax|xml|数据|异步 IT新技术名词:AJAX和SOAP--异步数据和XML获取 AJAX:原文Asynchronous Javascript and XML applications,其实就是那些通过javascript来异步取得xml数 据的应用! 我觉得这个缩写最狭隘了,因为我完全可以把JS换成VBS嘛,那不就可以缩写成AVAX了?! 从这点上说,远不如SOAP,它的原文应该是Simple Object Access Protocol,简单对象访问协议(汗哪,我也 不敢确认呢.其实

jquery中的ajax同步和异步详解_AJAX相关

之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题.最近的项目用了到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除. 而异步则这个AJAX代码运行中的时候其他代码一样可以运行. jquery的async:false,这个属性 默认是true:异步,false:同步. $.ajax({ type: "post", url: "

iOS: JS和Native交互的两种方法,iosjsnative交互

iOS: JS和Native交互的两种方法,iosjsnative交互 背景: UIWebView: iOS 用来展示 web 端内容的控件. 1. 核心方法: - (NSString*)stringByEvaluatingJavaScriptFromString:(NSString *)script; script 就是 JS 代码,返回结果为 js 执行结果. 比如一个 JS function 为 function testFunction(abc){ return abc; }; webv

js和servlet交互的问题

问题描述 js和servlet交互的问题 请问下各位大神: $("#searchBox").blur(function(){ var keyValue = $(this).val(); if(keyValue !== null){ document.forms[0].action='ServletDemoTest?keyValue='+decodeURIComponent(keyValue); document.forms[0].submit(); } }); 上面这段代码里面我在js

Ajax表单异步上传文件实例代码(包括文件域)_AJAX相关

1.起因 做前台页面时,需要调用WebAPI的Post请求,发送一些字段和文件(相当于把表单通过ajax异步发送出去,得到返回结果),然后得到返回值判断是否成功. 2.尝试 先是尝试了一下 "jQuery Form Plugin" ,这玩意就是的巨大的坑,实现他和jquery1.9.2兼容性就不是太好,好不容易把$.browser的问题解决了,发现用他上传文件得不到返回值. $("#view").submit( $("#view").ajaxSu