1,自己封装ajax对象,如下:
var Ajax = function(setting) {
if (window.XMLHttpRequest)
xhr = new XMLHttpRequest();
else {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
if (setting.success)
setting.success(xhr.responseText);
else
console.log(xhr.responseText);
} else {
if (setting.error)
setting.error(xhr.status);
else {
console.log('Error:' + xhr.status);
}
}
}
};
var data = "";
if (typeof setting.data === 'string') {
data = setting.data;
if (data.charAt(0) == '?')
data = data.substring(1, data.length);
} else if (typeof setting.data == 'object') {
for (key in setting.data) {
data += key + '=' + setting.data[key] + '&';
}
data = data.replace(/&$/, '');
}
var type = setting.type || 'GET';
if (type == 'GET') {// GET方式提交
xhr.open(type, setting.url + '?' + data, true);
xhr.send();
} else {// POST方式提交
xhr.open(type, setting.url, true);
xhr.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
xhr.send(data);
}
};
使用:
Ajax({
url : "url",
type : 'POST',
data : {
key : value
},
success : function(msg) {
alert(msg);
},
error : function(msg) {
alert('error');
}
});
2,使用jQuery库,如下:
$.ajax({
url : "url",
type : "post",
data : {
key : value
},
dataType : "json",
success : function(msg) {
alert(msg);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});