function ajax() {
//创建一个 XHR 对象
let oAjax = window.XMLHttpRequest ? (new XMLHttpRequest()) : (new window.ActiveXobject('Microsoft.XMLHTTP'));
//返回一个函数,这是函数柯里化操作,不用每次调用 ajax 都判断浏览器环境
//但是会占用更多的内存,因为总是会保存外部函数的作用域
return function(url, fnSucc, fnFaild) {
//只要 XHR 对象的 readyState 属性的值发生改变,就触发这个事件
oAjax.onreadystatechange = function() {
// readyState 属性是 0-4 的值,当为 4 时,表示已经接收到全部响应数据,并可以在客户端使用
if (oAjax.readyState === 4) {
//响应的 HTTP 状态
let s = oAjax.status;
if (s === 200 || s === 206 || s === 304) {
//将响应主体被返回的文本作为参数传给这个函数,并执行这个函数
if (fnSucc) fnSucc(oAjax.responseText);
} else {
if (fnFaild) fnFaild(oAjax.status);
}
}
};
//启动一个请求,准备发送
oAjax.open('GET', url, true);
//发送请求
oAjax.send(null);
}
}
Ajax的原生写法
原创文章标签 ajax javascript ecmascript 前端 作用域 文章分类 Python 后端开发
上一篇:Ajax的使用
-
03 原生Ajax写法
本文将介绍AJAX的原生写法,以及重点阐述GET与POST的区别
ajax javascript 前端 html css3 -
ajax原生态写法
这是ajax原生态的写法,并没有jquery进行封装: $(function(){ $("#ajax").click(function(){ //创建
ajax jquery json xhr function -
jquery Ajax的标准写法
Ajax异步处理数据,在Java与前端进行数据交互中经常用到,今天我特地总结一下,希望对大家有所帮助。Ajax的标准写法:$.ajax({ type:"post",
ajax jquery 前端 异步 jquery ajax -
原生ajax,和jquery中的ajax
ajax的用法
jquery ajax javascript -
websocket的js原生写法
最近在做门锁的指纹采集时,pc端和指纹采集器通过websocket进行通信,项
javascript websocket 刷新页面 二进制数 -
JavaScript AJAX原生写法
JavaScript AJAX原生写法 面试题
AJAX 原生写法 html xml ajax