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); } }) })}