原生JavaScript实现Ajax的方法


Posted in Javascript onApril 07, 2016

首先为大家分享了原生JavaScript实现Ajax代码,供大家参考,具体内容如下

var getXmlHttpRequest = function() {
  if (window.XMLHttpRequest) {
    //主流浏览器提供了XMLHttpRequest对象
    return new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    //低版本的IE浏览器没有提供XMLHttpRequest对象
    //所以必须使用IE浏览器的特定实现ActiveXObject
    return new ActiveXObject("Microsoft.XMLHttpRequest");
  }

};
var xhr = getXmlHttpRequest();
xhr.onreadystatechange = function() {
  console.log(xhr.readyState);
  if (xhr.readyState === 3 && xhr.status === 200) {
    //获取成功后执行操作
    //数据在xhr.responseText
    console.log(xhr.responseText);
  }
};
xhr.open("get", "data.php", true);
xhr.send("");

下面和大家分享几种利用javascript实现原生ajax的方法。
实现ajax之前必须要创建一个 XMLHttpRequest 对象。如果不支持创建该对象的浏览器,则需要创建 ActiveXObject,具体方法如下:

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

(1)下面使用上面创建的xmlHttp实现最简单的ajax get请求:

function doGet(url){ 
// 注意在传参数值的时候最好使用encodeURI处理一下,以防出现乱码 
createxmlHttpRequest(); 
xmlHttp.open("GET",url); 
xmlHttp.send(null); 
xmlHttp.onreadystatechange = function() { 
if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) { 
alert('success'); 
} else { 
alert('fail'); 
} 
} 
}

(2)使用上面创建的xmlHttp实现最简单的ajax post请求:

function doPost(url,data){ 
// 注意在传参数值的时候最好使用encodeURI处理一下,以防出现乱码 
createxmlHttpRequest(); 
xmlHttp.open("POST",url); 
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
xmlHttp.send(data); 
xmlHttp.onreadystatechange = function() { 
if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) { 
alert('success'); 
} else { 
alert('fail'); 
} 
} 
}

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
textarea的value是html文件源代码,存成html文件的代码
Apr 20 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
Oct 10 Javascript
对jQuary选择器的全面总结
Jun 20 Javascript
AngularJS基础 ng-keyup 指令简单示例
Aug 02 Javascript
javascript中call,apply,bind函数用法示例
Dec 19 Javascript
BootStrap实现轮播图效果(收藏)
Dec 30 Javascript
jQuery模拟窗口抖动效果
Mar 15 Javascript
js实现简易聊天对话框
Aug 17 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
Dec 14 Javascript
在微信小程序中渲染HTML内容的方法示例
Sep 28 Javascript
js实现特别简单的钟表效果
Sep 14 Javascript
vue中data改变后让视图同步更新的方法
Mar 29 Vue.js
JavaScript数据推送Comet技术详解
Apr 07 #Javascript
js实现商品抛物线加入购物车特效
Nov 18 #Javascript
js类式继承与原型式继承详解
Apr 07 #Javascript
javascript原型继承工作原理和实例详解
Apr 07 #Javascript
浅析JS原型继承与类的继承
Apr 07 #Javascript
AngularJs 弹出模态框(model)
Apr 07 #Javascript
详解AngularJS 模态对话框
Apr 07 #Javascript
You might like
PHP中的CMS的涵义
2007/03/11 PHP
PHP日期处理函数 整型日期格式
2011/01/12 PHP
php的array_multisort()使用方法介绍
2012/05/16 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
jQuery实现鼠标选文字发新浪微博的方法
2016/04/02 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
react-native 封装选择弹出框示例(试用ios&android)
2017/07/11 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
[56:29]Secret vs Optic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python引用传值概念与用法实例小结
2017/10/07 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
python启动应用程序和终止应用程序的方法
2019/06/28 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
利用pandas将非数值数据转换成数值的方式
2019/12/18 Python
MxNet预训练模型到Pytorch模型的转换方式
2020/05/25 Python
Python中有几个关键字
2020/06/04 Python
python与js主要区别点总结
2020/09/13 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
俄罗斯品牌服装在线商店:VIPAVENUE
2020/08/10 全球购物
房地产销售员的自我评价分享
2013/12/04 职场文书
12月小学生校园广播稿
2014/02/04 职场文书
考研英语辞职信
2015/05/13 职场文书
电影红河谷观后感
2015/06/11 职场文书
入队仪式主持词
2015/07/04 职场文书
新闻稿标题
2015/07/18 职场文书
2016年大学生暑假爱心支教活动策划书
2015/11/26 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
如何基于python实现单目三维重建详解
2022/06/25 Python