原生ajax的封装
来源:互联网 发布:linux的shell用法 编辑:程序博客网 时间:2024/05/18 00:22
请求步骤:
- 建立XMLHttpRequest连接
- 向后台服务器发送请求
- 根据服务器返回的状态码执行相关的操作
- 返回的数据格式化
function json2url(json) { json.t = Math.random(); var arr = []; for(var name in json) { arr.push(name+'='+json[name]); } return arr.join('&');}function ajax(json) { json = json || {}; if(!json.url) return; json.data = json.data || {}; json.type = json.type || 'get'; if(window.XMLHttpRequest) { var oAjax = new XMLHttpRequest(); }else{ var oAjax = new ActiveXObject('Microsoft.XMLHTTP'); } switch(json.type) { case 'get': oAjax.open('GET',json.url+'?'+json2url(json.data),true); oAjax.send(); break; case 'post': oAjax.open('POST',json.url,true); oAjax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); oAjax.send(json2utl(json.data)); break; } oAjax.onreadystatechange = function() { if(oAjax.readyState == 4){ if(oAjax.status >= 200 && oAjax.status < 300 || oAjax.status == 304) { json.success && json.success(oAjax.responseText); }else{ json.error && json.error(oAjax.status); } } }}
ajax优点:
- 通过异步模式,提升了用户体验
- 优化了浏览器和服务器之间的传输,减少了不必要的数据往返,减少了宽带占用
- ajax运行在客户端,承担了部分服务器来自服务器的工作,从而减少了服务器压力
ajax局限性:
- 不支持浏览器的后退功能
- 对搜索引擎的支持比较弱
- ajax暴露了与服务器的交互细节
- 破坏了程序的异常机制
阅读全文
1 0
- 封装的原生ajax
- 原生ajax的封装
- 原生的Ajax的封装
- 原生Ajax的多种简单封装
- ajax和jsonp的原生封装
- ajax和jsonp的原生封装
- ajax和jsonp的原生封装
- ajax和jsonp的原生封装
- ajax和jsonp的原生封装
- 原生JS封装的ajax请求
- 原生JavaScript封装Ajax
- 原生js封装Ajax
- 封装原生ajax
- 原生封装ajax
- 原生 ajax 封装
- 原生JavaScript封装ajax
- 原生js封装ajax
- 原生封装ajax
- Spring Security4 学习文档
- 单例模式
- 找Python安装目录,设置环境路径以及在命令行运行python脚本
- jetson tx2开箱上电
- QSettings 读写注册表
- 原生ajax的封装
- 关于学习ajax中的contentType属性笔记
- Python--反射/自省
- Vuejs之路之--对实例生命周期的理解
- 【c】链表的操作!!!
- c++ 数组 有序数组插入 归并排序思想
- JDK 配置(ubuntu)
- hdu 1003
- 距离之和最小 V3