1、ajax、axios總結

来源:https://www.cnblogs.com/hgdzjp/archive/2018/08/14/9438893.html
-Advertisement-
Play Games

一.原生js實現ajax請求: 步驟: get請求: 2.post請求: 二.jq實現ajax請求: get請求: post請求 三.axios請求: 首先安裝axios, 方法一:npm install axios 方法二: CDN引入 <script src="https://unpkg.com ...


一.原生js實現ajax請求:

 步驟:

  get請求:

//  1.創建一個XMLHttpRequest的對象. 
     var xml=null;  //初始值設為空
     if(XMLHttpRequest){
         xml=new XMLHttpRequest; //相容非IE6
     }else{
         xml=new ActiveXObject('Microsoft.XMLHTTP'); //相容IE6瀏覽器
     }
     //2.通過open與伺服器建立連接    open(method,url,async) ; 
     //method包含 GET、POST、PUT方式。
     //第三個參數同步(false)或者非同步(true)
    xml.open('GET',url,true); 
    //3.發送請求 send(string)  
    //string(參數) 僅用於post請求,GET請求不需要傳參數,如果有參數直接拼接到url中。
    xml.send();
    //4.狀態和響應
    xml.onreadystatechange=function(){
    	//當readyState==4並且status==200時請求成功,否則請求失敗
        if(xml.readyState==4&&xml.status==200){
            //請求成功
        }else{
            //請求失敗
        }
    }

  2.post請求:

 //步驟同 get
    var xml=null;
    var data={a:1,b:2};
    if(XMLHttpRequest){
        xml=new XMLHttpRequest;
    }else{
        xml=new ActiveXObject('Microsoft.XMLHTTP')
    }
    xml.open('POST',url,true);
    xml.send(data); //這裡的data是要傳遞的參數 
    xml.onreadystatechange=function(){
        if(xml.readyState==4&&xml.status==200){
            //請求成功
        }else{
            //請求失敗
        }
    }

  二.jq實現ajax請求:

       get請求:

       

//  1.get請求
     $.ajax({
         type:"get",
         url:"",
         async:true,
         timeout:3000,  //timeout:響應超時時間,非必須參數
         beforeSend:function(){
         	//這裡是發送請求之前所要進行的操作
         },
         success:function(){
             //請求成功
         },
         error:function(){
            //請求失敗
         }
     });

  

 post請求

$.ajax({
          type:"post",
          url:"",
          data:{a:1,b:2},//需要傳遞的參數
          async:true,
          timeout:3000,  //timeout:響應超時時間,非必須參數
          beforeSend:function(){
         	//這裡是發送請求之前所要進行的操作
          },
          success:function(){
              //請求成功
          },
          error:function(){
           //請求失敗    
          }
      	});

  

  三.axios請求:

        首先安裝axios,
       方法一:npm install axios
       方法二: CDN引入 <script src="https://unpkg.com/axios/dist/axios.min.js"></script>  

     get請求:

   

//1.get請求(無參數)
    axios.get('http://www.xxx')
    .then(function(response){
        //請求成功
    }).catch(function(erroe){
        //請求失敗
    });

  

//2.get請求(有參數)
      axios.get('http://www.xxx?a=1&b=2')
        .then(function(response){
            //請求成功
        }).catch(function(erroe){
            //請求失敗
        });

  post請求:

    

//必須引入qs對data進行stringify  安裝axios時已經安裝了qs,無需再安裝,引入即可用。
    // import Qs  from 'qs'   
     let data=Qs.stringify({a:1,b:2});
     axios.post('http://www.xxx',data)
     .then(function(response){
         //請求成功
     }).catch(function(error){
         //請求失敗
     })
     //4.多個請求同時發送
     function axiosOne(){
      return axios.get('http://www.url.one')    
     };
     function axiosTwo(){
      return axios.get('http://www.url.two')    
     };
    axios.all([axiosOne(),axiosTwo()])
   .then(axios.spread(function(acct, perms){
        console.log(acct);//請求一的結果;
        console.log(perms);//請求二的結果
   }))

  


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、前言 時隔三年,記得第一次寫博客還是2015年了,經過這幾年的洗禮,我也從一個後端的小萌新變成現在略懂一點點知識的文青。如今對於前端的東東也算有一知半解,個人能力總的來說,也能夠獨立開發產品級項目吧。至於為什麼會前端的東西,估計學.NET的人應該大部分都懂些,之前自己搭建過一套框架,但覺得現在的 ...
  • 用兩個伺服器處理一個項目的代碼,其中一臺伺服器只處理介面請求。 本來PHP可以使用CURL來處理,但是領導不允許使用PHP來處理數據。會影響網站的功能。如果介面端出現問題會導致整個網站或其頁面的崩潰,因此使用前端處理數據。就不會產生這種問題。 本文適用於知道跨域,但是不知道跨域為何物的程式員。 話不 ...
  • 使用上一篇文章(https://www.cnblogs.com/ljzc002/p/9353101.html)中提出的方法,編寫一個簡單的宇宙飛船3D模型,在這篇文章中對模型製作流程和數學計算步驟進行介紹,併為模型添加簡單的材質。 我們首先對3D模型的輪廓進行估計,然後製作一個擁有足夠多頂點的、與模 ...
  • HTML5 Audio標簽能夠支持wav, mp3, ogg, acc, webm等格式,但有個很重要的音樂文件格式midi(擴展名mid)卻在各大瀏覽器中都沒有內置的支持。不是所有的瀏覽器都支持MP3 OGG之類的,每個瀏覽器因為版權的問題支持的格式都是不一樣的。 瀏覽器和音頻相容性 瀏覽器製造商 ...
  • http://www.css88.com/archives/5206 根據該文章方法,放在react項目中發現並不能實現,仔細觀察發現原來react解析出來的css樣式中沒有了 這個樣式 : 然後即可實現。 ...
  • /* *//*reset*//* */* {box-sizing: border-box; -webkit-tap-highlight-color: rgba(0,0,0,0);}html { font-family: "Helvetica Neue", Helvetica, STHeiTi, Ar ...
  • 一.前情概要 註:(我使用的路由是react router4)     如下圖所示,我們需要在頁面切換時有一個過渡效果,這樣就不會使頁面切換顯得生硬,用戶體驗大大提升;     but the 問題是,react的路由動畫沒有vue那麼方便,在vue裡面寫幾個 ...
  • 你可能已經用到Underscore或者Lodash。本文列舉了13個常用的JavaScript工具庫來提高開發效率。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...