2019独角兽企业重金招聘Python工程师标准>>>

/*** 执行基本ajax请求,返回XMLHttpRequest* Ajax.request(url,{*         async   是否异步 true(默认)*      method  请求方式 POST or GET(默认)*       data    请求参数 (键值对字符串)*      success 请求成功后响应函数,参数为xhr*        failure 请求失败后响应函数,参数为xhr* });**/
Ajax =
function(){function request(url,opt){function fn(){}var async   = opt.async !== false,method  = opt.method  || 'GET',data    = opt.data      || null,success = opt.success  || fn,failure = opt.failure    || fn;method  = method.toUpperCase();if(method == 'GET' && data){url += (url.indexOf('?') == -1 ? '?' : '&') + data;data = null;}var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');xhr.onreadystatechange = function(){_onStateChange(xhr,success,failure);};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('servlet/ServletJSON',{data : 'name=jack&age=20',success : function(xhr){//to do with xhr},failure : function(xhr){//to do with xhr}}
);

转载于:https://my.oschina.net/astrongpig/blog/29317

跨浏览器Ajax调用封装相关推荐

  1. ajax同时调用两个jsonp,使用JSONP进行跨域Ajax 调用

    JSONP 是啥 JSONP 全称是JSON with Padding. 当需要进行跨域Ajax 调用的时候, 需要用到JSONP 协议. 客户端 $.ajax({ url: 'http://xxx' ...

  2. 【前端】跨浏览器事件处理程序EventUtil.js个人注释及详解

    <javascript高级程序设计>跨浏览器事件处理程序EventUtil.js个人注释 EventUtil.js // 跨浏览器事件处理程序封装 var EventUtil = {// ...

  3. 跨域资源共享(CORS)--跨域ajax

    几年前,网站开发者都因为ajax的同源策略而撞了南墙.当我们惊叹于XMLHttpRequest对象跨浏览器支持所带来的巨大进步时,我们很快发现没有一个方法可以使我们用JavaScript实现请求跨域访 ...

  4. AJAX之封装+跨域

    AJAX5步法 先简单回顾下之前所说的5步法 1.创建异步对象XMLHttpRequest /* 1.创建 XMLHttpRequest一步对象*/var xhr;if (window.XMLHttp ...

  5. ajax json 封装,Ajax--json(Ajax调用返回json封装代码、格式及注意事项)

    Ajax调用json封装代码: //Ajax调用返回JSON public function JsonQuery($sql,$type=1,$db="mydb") { //定义数据 ...

  6. js ajax 浏览器兼容,JS跨浏览器兼容,一点点总结

    不同的浏览器,对不同的/相同的属性.方法等的支持程度也会有所差别,要想达到满意的效果,需要做一些处理.给不同的浏览器量体裁衣,也就是所说的达到兼容. 常见的处理方式:(能力检测和浏览器检测) 1.三目 ...

  7. ajax跨浏览器初始化,使用Ajax的jQuery localStorage的跨浏览器

    我已经这样做了阿贾克斯jQuery的功能,节省了在localStorage的滚动位置和正常工作的Chrome,但它并没有在其他Web浏览器上工作,我能做些什么,使工作在所有平台上?使用Ajax的jQu ...

  8. ajax调用远程webservice,ajax跨域请求调用webservice接口

    最近忽然想学习webservice,一直不知道如何跨域调用调用.若是都在同一个项目,相信你们都知道了?特此整理一下关键点,权当学习.javascript 1.WebService 接口编写.这里不在赘 ...

  9. 跨浏览器开发工作小结

    本篇小结是在2011年时候总结的,当时做一个产品的跨浏览器兼容工作,由于产品开发的时间比较早,最开始只能在IE下面(IE 8.IE 9还有点点问题)使用,做跨浏览器兼容工作的时候,主要是适配IE 6- ...

最新文章

  1. 循环神经网络-Dropout
  2. Error:java: Annotation processing is not supported for module cycles. Please ensure that all modules
  3. SoapUI启动报错:The JVM could not be started. The maximum heap size (-Xmx) might be too large
  4. c#加入json库引用_C#如何通过匿名类直接使用访问JSON数据详解
  5. 【数据结构与算法】之深入解析“省份数量”的求解思路与算法示例
  6. iPhone/Mac Objective-C内存管理教程和原理剖析
  7. 程序员常用网站收藏[定期更新]——csdn博客
  8. 如何看待和选择基础设施软件
  9. 如何制作一个横版格斗过关游戏 Cocos2d x 2 0 4
  10. day63-webservice 08.在web项目中配置带有接口的webservice服务
  11. “媲美百万豪车”!首款华为鸿蒙汽车正式发布:定名问界M5 25万起售
  12. linux进程管理概念,Linux教程之进程的概念和进程管理命令的使用
  13. 节后上班 北京车辆尾号限行2日轮换
  14. 验证性因子分析中有哪些指标?
  15. Vue3 npm run serve 太慢的解决方法
  16. 华为服务器插网线后没有响应,用con口连接华为交换机没有反应,重启之后出现以下信息后...
  17. html5橡皮擦,用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
  18. Linux查看mac地址
  19. [MFC] CList
  20. --nuhub--linux

热门文章

  1. 使用线程新建WPF窗体(公用进度条窗体)
  2. iOS自动偏移64个像素
  3. JMX-JAVA进程监控利器
  4. 改善ASP.NET2.0性能的五件法宝
  5. 数据可视化必修课 - 图表篇
  6. 罗辑思维:情怀还是生意?
  7. 腾讯内部产品课:细分用户
  8. Linux中一切皆文件
  9. bzoj3959(LCT)
  10. 我目前要学习的vue知识点