原生JavaScript实现Ajax的方法
来源: 阅读:482 次 日期:2016-07-08 14:20:37
温馨提示: 小编为您整理了“原生JavaScript实现Ajax的方法”,方便广大网友查阅!

首先为大家分享了原生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'); 

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

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map