Javascript封装原生ajax请求
2017-11-30 14:56
585 查看
function ajax() { var param = { url: arguments[0].url || '', type: arguments[0].type || "Get", data: arguments[0].data, dataType: arguments[0].dataType || "json", contentType: arguments[0].contentType || "application/x-www-form-urlencoded", async: arguments[0] || true, beforSend: arguments[0].beforeSend || function () { }, success: arguments[0].success || function () { }, error: arguments.error || function () { }, complete: arguments[0].complete || function () { } } param.beforSend(); var xmlhttpRequest = createHttpRequest(); xmlhttpRequest.responseType = param.dataType; xmlhttpRequest.open(param.type, param.url, param.async); xmlhttpRequest.setRequestHeader("Content-Type", param.contentType); xmlhttpRequest.send(converData(param.data)); xmlhttpRequest.onreadystatechange = function () { if (xmlhttpRequest.readyState === 4) { if (xmlhttpRequest.status === 200) { param.success(xmlhttpRequest.response); } else { param.error(); } param.complete(); } } } //创建请求对象 function createHttpRequest() { if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else { return null } } //解析请求参数 function converData(dataPar) { if (typeof dataPar === 'object') { var result = ""; for (var i in dataPar) { result += i + '=' + dataPar[i] + "&" } result = result.substring(0, result.length - 1); return result; } else { return dataPar; } }
相关文章推荐
- 原生javascript封装类似jquery的ajax请求跨域函数
- 将ajax请求封装为一个对象(原生js)
- 原生JavaScript封装ajax
- 以Base64字符串形式上传文件——在web浏览器端使用原生Javascript及Ajax读取本地文件并发送请求到服务器
- 实例讲解使用原生JavaScript处理AJAX请求的方法
- 理解ajax技术,封装原生 ajax请求
- ajax 异步封装-函数 javascript原生
- 原生javascript Ajax异步请求代码小例子
- 用原生javascript封装ajax技术
- Ajax实战总结——用原生JavaScript代码封装自己的Ajax核心对象
- 实例讲解使用原生JavaScript处理AJAX请求的方法
- [JavaScript][AJAX][JQuery]利用回调接口封装AJAX类|原生JavaScript的AJAX写法优化
- 原生JavaScript封装Ajax
- JavaScript - ajax请求的初步封装
- javascript中Ajax请求的封装代码
- 原生JavaScript封装ajax,可以直接使用
- 原生JavaScript实现Ajax(三):ajax函数的最终封装
- 原生javascript实现的ajax异步封装功能示例
- 原生ajax请求二次封装
- 原生JavaScript实现ajax异步请求代码