9-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.status==200&&xhr.readyState==4){ var obj=JSON.parse(xhr.responseText); console.log(obj) }}
9-2 封装的ajax
function ajax({ url, method="get", success}) { var xhr = new XMLHttpRequest(); xhr.open(method, url, true); xhr.send(); xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { var result = JSON.parse(xhr.responseText); success(result) } }}
9-3 jquery-ajax
$.ajax({ url:"http://192.168.4.18:8000/", type:"get", dataType:"json", success:res=>{ console.log(res) }})
9-4 callback封装ajax
function http({ url, type="get", success}){ $.ajax({ url, type:"get", datatype:"json", success:res=>{ success(res) } })}
9-5 promise封装ajax
function http(url){ return new Promise((resolve,reject)=>{ $.ajax({ url:`http://192.168.4.18:3000/${url}`, type:"get", success:res=>{ resolve(res) }, error:err=>{ reject(err) } }) })}