javascript异步请求的几种方式

简介:

第一种,基本方法。这种方法比较基础,而且可以根据readyState和status的不同状态,写不同的处理代码。算是比较完备的吧。

var xmlHttp;
if (window.ActiveXObject) {
   xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else {
   if (window.XMLHttpRequest) {
    xmlHttp = new XMLHttpRequest();
   }
}

//设定属性
xmlHttp.onreadystatechange = getPreRespons;
xmlHttp.open("POST", url, true);
//post方法必须设置这个请求头
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    //发送请求 
xmlHttp.send(params);

//获得返回数据
function getPreRespons() {
//alert(xmlHttp.readyState);
if (xmlHttp.readyState == 4) {
//alert(xmlHttp.status)
   if (xmlHttp.status == 200) {
    parsePrem();//这个方法的代码略去,自己写就行
   }
}
}

第二种,这种方法要先引入prototype.js。这种方法算是半封装,因为他封装了基本的一些代码,如设定属性等;但是将onComplte等 方法暴露了出来。更具体的方面,我另写有文章。

var myAjax = new Ajax.Request(
    url,
    {method:'post',parameters:params,onComplete: processResponse,asynchronous:true});
}

第三种,是jquery的方法,因此要先引入jquery.js。这种方法封装得比较厉害,只留了一个omCompleted方法出来。不过 jquery也留了底层方法,可以通过使用底层方法来获取更大的编程灵活性。不知道prototype有没有类似的方法。

jQuery.post(action, params, onCompleted, "text");




本文转自 斯然在天边 51CTO博客,原文链接:http://blog.51cto.com/winters1224/799027,如需转载请自行联系原作者

相关文章
|
前端开发 JavaScript 定位技术
JavaScript 等待异步请求数据返回值后,继续执行代码 —— async await Promise的使用方法
JavaScript 等待异步请求数据返回值后,继续执行代码 —— async await Promise的使用方法
275 1
|
前端开发 JavaScript
#yyds干货盘点# 【js学习笔记十】前端异步请求逐步进行二async/await
#yyds干货盘点# 【js学习笔记十】前端异步请求逐步进行二async/await
131 0
#yyds干货盘点# 【js学习笔记十】前端异步请求逐步进行二async/await
|
前端开发 JavaScript
#yyds干货盘点# 【js学习笔记九】前端异步请求逐步进行一回调
#yyds干货盘点# 【js学习笔记九】前端异步请求逐步进行一回调
123 0
#yyds干货盘点# 【js学习笔记九】前端异步请求逐步进行一回调
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
233 2
|
10月前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
156 1
JavaScript中的原型 保姆级文章一文搞懂
|
10月前
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
95 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
343 5
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
189 3
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
176 4
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物交易平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物交易平台附带文章源码部署视频讲解等
188 4