9-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.status==200&&xhr.readyState==4){
  7. var obj=JSON.parse(xhr.responseText);
  8. console.log(obj)
  9. }
  10. }

9-2 封装的ajax

  1. function ajax({
  2. url,
  3. method="get",
  4. success
  5. }) {
  6. var xhr = new XMLHttpRequest();
  7. xhr.open(method, url, true);
  8. xhr.send();
  9. xhr.onreadystatechange = function () {
  10. if (xhr.readyState == 4 && xhr.status == 200) {
  11. var result = JSON.parse(xhr.responseText);
  12. success(result)
  13. }
  14. }
  15. }

9-3 jquery-ajax

  1. $.ajax({
  2. url:"http://192.168.4.18:8000/",
  3. type:"get",
  4. dataType:"json",
  5. success:res=>{
  6. console.log(res)
  7. }
  8. })

9-4 callback封装ajax

  1. function http({
  2. url,
  3. type="get",
  4. success
  5. }){
  6. $.ajax({
  7. url,
  8. type:"get",
  9. datatype:"json",
  10. success:res=>{
  11. success(res)
  12. }
  13. })
  14. }

9-5 promise封装ajax

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