/**   * 执行基本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相关推荐

  1. 使用fetch封装ajax_如何使用Fetch在JavaScript中进行AJAX调用

    使用fetch封装ajax I will be sharing bite sized learnings about JavaScript regularly in this series. We'l ...

  2. 原生JS封装ajax方法

    http://blog.sucaijiayuan.com/article/89 jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只 ...

  3. js 封装ajax方法吗,原生JS封装ajax方法

    jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只需要ajax,这时引入jquery库会造成资源浪费,也会显得页面臃肿.这时我们就 ...

  4. promise ajax 队列,ES6中的promise,从使用promise封装ajax说起

    1为啥要用promise? js是单线程的,理论上所有代码都是同步的,从上到下一行行执行.然而就这样傻傻解析运行js的话,碰到较重的任务时,会阻塞进程,如发送一个用户是否登录验证请求,请求完成响应之前 ...

  5. html里写js ajax吗,js、ajax、jquery的区别是什么?

    js.ajax.jquery的区别 1.JS是一门前端语言. 2.Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新. 3.jQuery是一个 ...

  6. ajax背景、ajax对象、ajax状态、ajax与http、ajax请求数据接口、同步与异步、ajax请求XML数据、封装ajax函数、artTemplate简介、同源策略和跨域请求、JSONP

    AJAX简介: ajax背景: 1.AJAX(Asynchronous JavaScript And Xml)异步的 JavaScript 和 XML:ajax是浏览器提供的一套API,最早出现在谷歌 ...

  7. 前后端交互之封装Ajax+SpringMVC源码分析

    为什么需要封装呢?因为用的多,我想将其封装成函数,当我想用它时,只需将那个函数对应的js文件引入即可,而不要重复写很多相同代码,利于开发效率的提高. 无论是$.ajax或$.post.$.get等,在 ...

  8. JavaScript基础之Ajax总结大全

    转载自:Ajax入门和发送http请求 同步和异步 同步和异步的概念 同步:必须等待前面的任务完成,才能继续后面的任务. 异步:不受当前任务的影响. 拿排队举例: 同步:在银行排队时,只有等到你了,才 ...

  9. Javaweb的AJAX及Axios框架使用(封装AJAX)

    概念:  AJAX(Asynchronous JavaScript And XML):异步的JS和XML. 作用: 与服务器进行数据交换 :通过AJAX可以给服务器发送请求.使用AJAX和服务器进行通 ...

最新文章

  1. Java垃圾回收之老年代垃圾收集器
  2. AI Debate2 | 李飞飞提「AI北极星」,卡尼曼指「系统 1」理解有误
  3. Powershell RESTAPI 访问Office365
  4. FPGA设计中MEMORY型数据怎么综合到blockRAM里面(二)
  5. linux dmesg信息哪来的,linux中的dmesg命令简介
  6. linux rmp命令安装包在哪里_【MongoDB系列】Linux系统安装MongoDB
  7. javaweb学习总结(十五):JSP基础语法
  8. mysql数据类型支持比较运_Mysql支持的数据类型(总结)
  9. 每天一个知识点:Python列表两个冒号加一个负数的表达方法
  10. 关于JavaScript的词法作用域及变量提升的个人理解
  11. python的property用法_Python的@property使用方法详解
  12. mac 删除文件夹里所有的.svn文件
  13. (附源码)计算机毕业设计ssm大学生网络安全题库系统
  14. MATLAB中如何取整
  15. c语言大赛评分用数组,C语言大赛现场评分系统
  16. 字写的不好没关系,用python随便就生成了艺术签名
  17. flutter的坑.dart1与dart2写法的区别
  18. [C语言]扫雷游戏(Mine Sweeper)
  19. ChatGPT火了,对话式人工智能还能干嘛?
  20. 个人支付宝h5支付源码,即时到个人账户

热门文章

  1. 一、鼎捷T100资金管理之资金基础资料设置
  2. boll指标 java_ta-lib计算BOLL值、RSI值、OBV成交量
  3. 又一金融级应用落地!百度超级链联合百信银行落地百度收银台商户清算方案
  4. 趣图:程序员头疼的 4 种原因
  5. 你不是不好 只是不够好
  6. python 评分卡建模记录---使用到的各种函数(1)(转载)
  7. 移动平台化进程加速 网秦如何实现战略转型?
  8. 俞敏洪:马云在师专与校花恋爱,我却在北大自卑了7年
  9. 8小时8节零基础MySQL快速人门实验上机课
  10. 倍福--伺服无法使能分析