原生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 相关文章推荐
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
Jun 26 Javascript
Visual Studio中的jQuery智能提示设置方法
Mar 27 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
Jun 24 Javascript
jquery实现tr元素的上下移动示例代码
Dec 20 Javascript
jQuery中ajax和post处理json的不同示例对比
Nov 02 Javascript
javascript 判断整数方法分享
Dec 16 Javascript
24款热门实用的jQuery插件推荐
Dec 24 Javascript
jQuery实现选项卡切换效果简单演示
Dec 09 Javascript
JQuery实现简单的服务器轮询效果实例
Mar 31 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
Jan 18 Javascript
js获取当前页的URL与window.location.href简单方法
Feb 13 Javascript
js实现弹幕飞机效果
Aug 27 Javascript
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 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
Linux php 中文乱码的快速解决方法
2016/05/13 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
JavaScript入门教程(5) js Screen屏幕对象
2009/01/31 Javascript
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
潜说js对象和数组
2011/05/25 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
jQuery在iframe中无法弹出对话框的解决方法
2014/01/12 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
jquery获取checkbox的值并post提交
2015/01/14 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
web前端vue之vuex单独一文件使用方式实例详解
2018/01/11 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
重学JS之显示强制类型转换详解
2019/06/30 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Tornado高并发处理方法实例代码
2018/01/15 Python
Python实现的求解最大公约数算法示例
2018/05/03 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
基于python3监控服务器状态进行邮件报警
2019/10/19 Python
django 将自带的数据库sqlite3改成mysql实例
2020/07/09 Python
python实现三壶谜题的示例详解
2020/11/02 Python
学习十八大演讲稿
2014/09/15 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
2014年小学语文工作总结
2014/12/20 职场文书