欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > HTML >内容正文

HTML

跨浏览器Ajax调用封装

发布时间:2025/3/20 HTML 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 跨浏览器Ajax调用封装 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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调用封装的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。