目錄
 的形式這個是一個物件形式傳遞的,案例程式碼如下:
總結
首頁 web前端 Vue.js 一文詳解axios傳遞參數的兩種方式

一文詳解axios傳遞參數的兩種方式

Aug 10, 2022 am 09:15 AM
axios

axios 大家都非常的清楚,一個既可以用於客戶端或 服務端傳送#http##請求的庫。但是在前後端聯調的時候有的時候會很難受,所以這裡我來做一個總結。希望能幫助有緣人。

參數的傳遞方式【相關推薦:

vue.js影片教學

參數傳遞一般有兩種,一種是使用 

params, 另一種是 data的方式,有很多的時候我們看到的前端程式碼是這樣的 

get 請求

axios({
    method: 'GET',
    url: 'xxxxx',
    params: param,
  })
或者 
axios({
    method: 'GET',
    url: '/xxx?message=' + msg,
  })
登入後複製
post 請求

axios({
    method: 'POST',
    url: '/xxxxx',
    data: param,
  })
  或者
 axios({
    method: 'POST',
    url: '/xxxxx',
    params: param,
  })
登入後複製
正確傳遞

傳遞參數的解決方法分為post和get,咋們從這裡來看一下 

post<span style="background-color:#cccccc;"></span> 

#post 是多數人會搞錯的,咋們來看看。

 data<span style="background-color:#cccccc;"></span> 的形式

從範例中說話,使用的案例代碼是post參數,並且沒有做任何的轉碼。

method: 'POST',
    url: '/xxxxx',
    data: param,
  })
登入後複製
 控制台結果

# 使用data傳遞的是一個對象,在控制台中看到的話是 

request payload 

#node 後台接收參數的方式 

這裡我採用的是

koa 來搭建的後台。需要使用 koa-bodyparser 這個外掛程式來解析body 的參數

import Koa from 'koa';
import bodyParser from 'koa-bodyparser'
const app = new Koa();


app.use(bodyParser());

app.listen(9020, () => {
  console.log('the server is listen 9020 port');
})
登入後複製
接受方式如下:

#java 後台接收參數的方式

對java 來說,本人並不是那麼熟悉,但知道的是。如果需要接受

axios 以data 傳遞的參數。需要使用註解 @responseBody 且使用的是實體類別來接收的.

##post data

的形式,不管是哪一種服務端的語言,都需要從body中取得參數。主要用於 傳遞 物件的參數,後台拿到的資料是一個 obj。 data 形式的資料有可以做好多事情, 檔案上傳表單提交 等

params

 的形式這個是一個物件形式傳遞的,案例程式碼如下:

 axios({
    method: 'POST',
    url: '/xxxxx',
    params: param,
  })
登入後複製
瀏覽器結果分析

查看view sourcer 如下:

node

 後台接收參數的方式

啟動服務和上面一樣,但是接收參數的方式有點變化

java

 後台接收參數的方式

這個本人搞不來,理論上是從網址列取得參數。應該也是 可以使用註解 @resquestParam吧

get 請求

get 請求不管使用哪一種方式,最後的參數都會放到路徑上。使用param 只是axios幫你把這個參數進行了序列化,並且拼接在 url上面。原因的話,請看下面

出現兩種的原因

遇到這個問題,咋們就需要去看 
axios

 的源碼了.這裡只會看處理參數的部分。有興趣的自己去查看源碼。

處理
data

axios

檔案中的 core/dispatchRequest.js 中,我們可以看到,axois會 data#

在 axios 的 default.js 中,有一個函數專門轉換 data#參數的。

注意: 上面只是舉例 data 傳遞參數的一種情況哈!其實data 也有在網址列 上 拼接的情況,或是是檔案上傳的等情況。太多了,這裡 只是講清楚使用的方式。

處理 params

axios檔案中的 adapt/ xhr.js 中,我們可以看到,axois會 params的參數放到url路徑中。

buildUrl 一些關鍵程式碼如下:

總結

其實前端和後端對接參數過程,對於post請求,data 不行,那就使用 params來傳遞,如果都不行,那就可能後端有問題了。

以上是一文詳解axios傳遞參數的兩種方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在Vue應用程式中使用axios時出現「Uncaught (in promise) Error: Request failed with status code 500」怎麼辦? 在Vue應用程式中使用axios時出現「Uncaught (in promise) Error: Request failed with status code 500」怎麼辦? Jun 24, 2023 pm 05:33 PM

在Vue應用程式中使用axios是十分常見的,axios是一種基於Promise的HTTP客戶端,可以用於瀏覽器和Node.js。在開發過程中,有時會出現「Uncaught(inpromise)Error:Requestfailedwithstatuscode500」的錯誤提示,對於開發者來說,這個錯誤提示可能有些難以理解和解決。本文將會探討這

Vue中資料請求的選擇:Axios or Fetch? Vue中資料請求的選擇:Axios or Fetch? Jul 17, 2023 pm 06:30 PM

Vue中資料請求的選擇:AxiosorFetch?在Vue開發中,處理資料請求是一個非常常見的任務。而選擇使用哪種工具來進行資料請求,則是需要考慮的問題。在Vue中,最常見的兩種工具是Axios和Fetch。本文將會比較這兩種工具的優缺點,並給出一些範例程式碼來幫助你做出選擇。 Axios是一個基於Promise的HTTP客戶端,可以在瀏覽器和Node.

在Vue應用程式中使用axios時出現「TypeError: Failed to fetch」怎麼辦? 在Vue應用程式中使用axios時出現「TypeError: Failed to fetch」怎麼辦? Jun 24, 2023 pm 11:03 PM

最近,在使用Vue應用程式開發過程中,我遇到了一個常見的問題:「TypeError:Failedtofetch」錯誤提示。這個問題出現在使用axios進行HTTP請求時,後端伺服器沒有正確回應請求時發生。這種錯誤提示通常表示請求無法到達伺服器,可能是由於網路原因或伺服器未回應造成的。出現這個錯誤提示後,我們該怎麼辦呢?以下是一些解決方法:檢查網路連接由於

在Vue應用程式中使用axios時出現「Error: Network Error」怎麼解決? 在Vue應用程式中使用axios時出現「Error: Network Error」怎麼解決? Jun 25, 2023 am 08:27 AM

在Vue應用程式中使用axios時出現「Error:NetworkError」怎麼解決?在Vue應用程式的開發中,我們常常會使用到axios進行API的請求或資料的獲取,但是有時我們會遇到axios請求出現「Error:NetworkError」的情況,這時我們該怎麼辦呢?首先,需要了解「Error:NetworkError」是什麼意思,它通常表示網路連

高效利用Vue和Axios實現前端資料的批次處理 高效利用Vue和Axios實現前端資料的批次處理 Jul 17, 2023 pm 10:43 PM

高效利用Vue和Axios實現前端資料的批次處理在前端開發中,資料的處理是一個常見的任務。當我們需要處理大量資料時,如果沒有有效的方法,處理資料將會變得十分繁瑣和低效。 Vue是一種優秀的前端框架,而Axios是一個流行的網路請求庫,它們可以協同工作來實現前端資料的批次處理。本文將詳細介紹如何有效利用Vue和Axios來進行資料的批次處理,並提供相關的程式碼範例

怎麼使用vue3+ts+axios+pinia實現無感刷新 怎麼使用vue3+ts+axios+pinia實現無感刷新 May 25, 2023 pm 03:37 PM

vue3+ts+axios+pinia實作無感刷新1.先在專案中下載aiXos和pinianpmipinia--savenpminstallaxios--save2.封裝axios請求-----下載js-cookienpmiJS-cookie-s//引入aixosimporttype{AxiosRequestConfigig ,AxiosResponse}from"axios";importaxiosfrom'axios';import{ElMess

Java axios與spring前後端分離傳參規範是什麼 Java axios與spring前後端分離傳參規範是什麼 May 03, 2023 pm 09:55 PM

一、@RequestParam註解對應的axios傳參方法以下面的這段Springjava程式碼為例,介面使用POST協議,需要接受的參數分別是tsCode、indexCols、table。針對這個Spring的HTTP接口,axios該如何傳參?有幾種方法?我們來一一介紹。 @PostMapping("/line")publicList

axios和SpringBoot前端怎麼呼叫後端介面進行資料交互 axios和SpringBoot前端怎麼呼叫後端介面進行資料交互 May 13, 2023 am 10:34 AM

一、介紹一個完善的系統,前後端互動是必不可少的,這個過程可以分成下面幾步:前端向後端發起請求後端接口接收前端的參數後,開始層層調用方法處理數據後端將最終資料回傳給前端介面前端請求成功後,將資料渲染至介面二、專案結構前端技術:axios後端技術:SpringBoot(這也無所謂,但你一定要有控制層的存取路徑,也就是所謂的請求位址對應的方法,可以用SSM框架,SSH框架,都可以)上面是大致的文件結構,相信大家後端的資料處理都沒問題,無非就是:控制層接收前端請求,呼叫對應的業務層介面方法業務層實現

See all articles