1.原生ajax
var url = "http://192.168.4.18:8000/"
var xhr = new XMLHttpRequest();
xhr.open("get", url, true);
xhr.send();
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var result = JSON.parse(xhr.responseText);
console.log(result)
}
}
2.回调函数封装ajax
//需要记住传参的顺序
function $ajax(url,success){
var xhr = new XMLHttpRequest();
xhr.open("get",url,true);
xhr.send();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status==200){
var res = JSON.parse(xhr.responseText);
success(res)
}
}
}
//封装成对象的形式不需要记住传参的顺序
function $ajax({url,success}){
var xhr = new XMLHttpRequest();
xhr.open("get",url,true);
xhr.send();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status==200){
var res = JSON.parse(xhr.responseText);
success(res)
}
}
}
3.jquery-ajax
var url = `http://47.108.197.28:8000/book`;
$.ajax({
url,
success:res=>{
console.log(res)
}
})
4.promise封装ajax
function http(url){
return new Promise((resolve,reject)=>{
$.ajax({
url,
type:"get",
success:res=>{
resolve(res)
},
error:err=>{
reject(err);
}
})
})
}