AJAX的封装
一般我们的请求方式有两种,一种是GET,一种是POST,而我们通过这两种方法发出的异步请求通常成为AJAX;
那么我们来通过封装AJAX实现我们去请求更便捷的调用
function get(url,data,success){
var xhr = new XMLHttpRequest;
xhr.open('get','xxx.php');
xhr.onreadystatechange = function(){
if (xhr.readyState == 4 && xhr.status == 200){
success(xhr.responseText);
}
}
xhr.send(null);
}
function post(url,data,success){
var xhr = new XMLHttpRequest;
xhr.open('post','xxx.php');
xhr.setRequestHeader("content-type","application/x-www-form-urlencoded")
xhr.onreadystatechange = function(){
if(xhr.readystate == 4 && xhr.status == 200){
success(xhr.responseText);
}
}
xhr.send(data);
}
function ajax(option){
var xhr = new XMLHttpRequest;
if(option.type == "get"){
option.url += "?";
option.url += option.data;
option.data = null;
}
xhr.open(option.type,option.url);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
var value = xhr.getResponseHeader("Content-Type");
if(value.indexOf('json') != -1){
option.success(json.parse(xhr.responseText));
} else if(value.indexOf('xml') != -1){
option.success(xhr.responseXML);
} else {
option.success(xhr.responseText);
}
}
}
xhr.send(option.data);
}
ajax({
data:"name=jack",
url:"xxx.php",
type:"post",
success:function(data){
console.log(data);
}
})