1.原生ajax

  1. var url = "http://192.168.4.18:8000/"
  2. var xhr = new XMLHttpRequest();
  3. xhr.open("get", url, true);
  4. xhr.send();
  5. xhr.onreadystatechange = function () {
  6. if (xhr.readyState == 4 && xhr.status == 200) {
  7. var result = JSON.parse(xhr.responseText);
  8. console.log(result)
  9. }
  10. }

2.回调函数封装ajax

  1. //需要记住传参的顺序
  2. function $ajax(url,success){
  3. var xhr = new XMLHttpRequest();
  4. xhr.open("get",url,true);
  5. xhr.send();
  6. xhr.onreadystatechange = function(){
  7. if(xhr.readyState == 4 && xhr.status==200){
  8. var res = JSON.parse(xhr.responseText);
  9. success(res)
  10. }
  11. }
  12. }
  1. //封装成对象的形式不需要记住传参的顺序
  2. function $ajax({url,success}){
  3. var xhr = new XMLHttpRequest();
  4. xhr.open("get",url,true);
  5. xhr.send();
  6. xhr.onreadystatechange = function(){
  7. if(xhr.readyState == 4 && xhr.status==200){
  8. var res = JSON.parse(xhr.responseText);
  9. success(res)
  10. }
  11. }
  12. }

3.jquery-ajax

  1. var url = `http://47.108.197.28:8000/book`;
  2. $.ajax({
  3. url,
  4. success:res=>{
  5. console.log(res)
  6. }
  7. })

4.promise封装ajax

  1. function http(url){
  2. return new Promise((resolve,reject)=>{
  3. $.ajax({
  4. url,
  5. type:"get",
  6. success:res=>{
  7. resolve(res)
  8. },
  9. error:err=>{
  10. reject(err);
  11. }
  12. })
  13. })
  14. }