首页 > Web开发 > 详细

封装ajax

时间:2018-06-23 00:59:15      阅读:314      评论:0      收藏:0      [点我收藏+]

function format(obj) {
var temp = [];
for (var key in obj) {
temp.push(key + "=" + obj[key]);
}
return temp.join("&");
}

function extend() {
for (var i = 0; i < arguments.length; i++) {
for (var key in arguments[i]) {
arguments[0][key] = arguments[i][key];
}
}
return arguments[0];
}

function ajax(opt) {
var def = {
async: true,
method: ‘get‘,
data: null,
success: function() {}
}
var settings = extend({}, def, opt);
var data = typeof settings.data == ‘object‘ ? format(settings.data) : settings.data;
var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
if (settings.method == ‘get‘) {
xhr.open(settings.method, settings.url + "?" + data, settings.async);
xhr.send();
} else if (settings.method == ‘post‘) {
xhr.open(settings.method, settings.url, settings.async);
xhr.setRequestHeader(‘Centent-Type‘, "application/x-www-form-urlencoded,charset-utf-8");
xhr.send(data);
}
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
var obj = JSON.parse(xhr.responseText);
settings.success(obj);
}
}
}
}

封装ajax

原文:https://www.cnblogs.com/mapsxy/p/9215935.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!