JavaScript自己封装ajax的js
/** * 执行基本ajax请求,返回XMLHttpRequest * Ajax.request({ * url* async 是否异步 true(默认) * method 请求方式 POST or GET(默认) * data 请求参数 (键值对字符串) * success 请求成功后响应函数,参数为xhr * error 请求失败后响应函数,参数为xhr * }); */ Ajax = function() {function request(opt) {function fn() {}var url = opt.url || "";var async = opt.async !== false, method = opt.method || 'GET', data = opt.data|| null, success = opt.success || fn, error = opt.failure|| fn;method = method.toUpperCase();if (method == 'GET' && data) {var args = "";if(typeof data == 'string'){//alert("string")args = data;}else if(typeof data == 'object'){//alert("object")var arr = new Array();for(var k in data){var v = data[k];arr.push(k + "=" + v);}args = arr.join("&");}url += (url.indexOf('?') == -1 ? '?' : '&') + args;data = null;}var xhr = window.XMLHttpRequest ? new XMLHttpRequest(): new ActiveXObject('Microsoft.XMLHTTP');xhr.onreadystatechange = function() {_onStateChange(xhr, success, error);};xhr.open(method, url, async);if (method == 'POST') {xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded;');}xhr.send(data);return xhr;}function _onStateChange(xhr, success, failure) {if (xhr.readyState == 4) {var s = xhr.status;if (s >= 200 && s < 300) {success(xhr);} else {failure(xhr);}} else {}}return {request : request};}();
Ajax.request({url : path + "/report/topn/topn_data.jsp",data : {datatype : datatype},success : function(xhr) {onData(xhr.responseText);},error : function(xhr) {}});
JavaScript自己封装ajax的js相关推荐
- 使用fetch封装ajax_如何使用Fetch在JavaScript中进行AJAX调用
使用fetch封装ajax I will be sharing bite sized learnings about JavaScript regularly in this series. We'l ...
- 原生JS封装ajax方法
http://blog.sucaijiayuan.com/article/89 jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只 ...
- js 封装ajax方法吗,原生JS封装ajax方法
jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只需要ajax,这时引入jquery库会造成资源浪费,也会显得页面臃肿.这时我们就 ...
- promise ajax 队列,ES6中的promise,从使用promise封装ajax说起
1为啥要用promise? js是单线程的,理论上所有代码都是同步的,从上到下一行行执行.然而就这样傻傻解析运行js的话,碰到较重的任务时,会阻塞进程,如发送一个用户是否登录验证请求,请求完成响应之前 ...
- html里写js ajax吗,js、ajax、jquery的区别是什么?
js.ajax.jquery的区别 1.JS是一门前端语言. 2.Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新. 3.jQuery是一个 ...
- ajax背景、ajax对象、ajax状态、ajax与http、ajax请求数据接口、同步与异步、ajax请求XML数据、封装ajax函数、artTemplate简介、同源策略和跨域请求、JSONP
AJAX简介: ajax背景: 1.AJAX(Asynchronous JavaScript And Xml)异步的 JavaScript 和 XML:ajax是浏览器提供的一套API,最早出现在谷歌 ...
- 前后端交互之封装Ajax+SpringMVC源码分析
为什么需要封装呢?因为用的多,我想将其封装成函数,当我想用它时,只需将那个函数对应的js文件引入即可,而不要重复写很多相同代码,利于开发效率的提高. 无论是$.ajax或$.post.$.get等,在 ...
- JavaScript基础之Ajax总结大全
转载自:Ajax入门和发送http请求 同步和异步 同步和异步的概念 同步:必须等待前面的任务完成,才能继续后面的任务. 异步:不受当前任务的影响. 拿排队举例: 同步:在银行排队时,只有等到你了,才 ...
- Javaweb的AJAX及Axios框架使用(封装AJAX)
概念: AJAX(Asynchronous JavaScript And XML):异步的JS和XML. 作用: 与服务器进行数据交换 :通过AJAX可以给服务器发送请求.使用AJAX和服务器进行通 ...
最新文章
- Java垃圾回收之老年代垃圾收集器
- AI Debate2 | 李飞飞提「AI北极星」,卡尼曼指「系统 1」理解有误
- Powershell RESTAPI 访问Office365
- FPGA设计中MEMORY型数据怎么综合到blockRAM里面(二)
- linux dmesg信息哪来的,linux中的dmesg命令简介
- linux rmp命令安装包在哪里_【MongoDB系列】Linux系统安装MongoDB
- javaweb学习总结(十五):JSP基础语法
- mysql数据类型支持比较运_Mysql支持的数据类型(总结)
- 每天一个知识点:Python列表两个冒号加一个负数的表达方法
- 关于JavaScript的词法作用域及变量提升的个人理解
- python的property用法_Python的@property使用方法详解
- mac 删除文件夹里所有的.svn文件
- (附源码)计算机毕业设计ssm大学生网络安全题库系统
- MATLAB中如何取整
- c语言大赛评分用数组,C语言大赛现场评分系统
- 字写的不好没关系,用python随便就生成了艺术签名
- flutter的坑.dart1与dart2写法的区别
- [C语言]扫雷游戏(Mine Sweeper)
- ChatGPT火了,对话式人工智能还能干嘛?
- 个人支付宝h5支付源码,即时到个人账户