跨浏览器Ajax调用封装
生活随笔
收集整理的这篇文章主要介绍了
跨浏览器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调用封装的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: bzImage的概要生成过程
- 下一篇: 10个奇幻的HTML5和Javascri