前端傳參的三種方式實戰(zhàn)案例
1、params 傳參
參數(shù)拼接在地址 url 的后面給后臺;地址欄中可見
案例1
地址欄:https://xxxxxxxx/admin/clues/detail?id=558
接口代碼:
export function getClueDetail(query: any) {
return request<clueItem>({
url: '/clues/detail',
method: 'get',
params: query
})
}
對于這個接口而言,query是接口被調(diào)用時接收參數(shù)的形參;params即是傳參方式,而query就是參數(shù),其會自動拼接在請求地址的 url 后面,以問號分隔,數(shù)據(jù)之間通過&連接;這樣我們可以直接在地址欄中看到請求的參數(shù)
案例2
地址欄: http://192.168.7.188:3000/registers/list?name=&mobile=&IDNumber=&page=1&perPage=10000
export function getPeopleList(query) {
return request({
url: "/registers/list",
method: "get",
params: query,
});
}
在本接口中 query 中就是查詢參數(shù),其中包含了很多個參數(shù);
2、data 傳參
使用 data 傳參,其會把數(shù)據(jù)拼接在請求體里 (body參數(shù));地址欄中看不到請求參數(shù)
案例3
export function postClueCreate(data: clueItem) {
return request<clueItem>({
url: '/clues/create',
method: 'POST',
data: data
})
}
在控制臺中可以打印出來(這里不僅可以展示 data傳參中的參數(shù),也可以展示params傳參中的參數(shù))

3、headers 傳參
headers 傳參 方式 用的比較少
import axios from 'axios'
import store from '@/store'
const myAxios = axios.create({
// 基地址
baseURL: 'http://xxxxxx'
})
const getUserInfoAPI = () => {
return request({
url: '/my/userinfo'
// method不寫默認就是'get'方式請求
headers: {
Authorization: store.state.token
}
})
}
案例4 (項目實操案例)
一個接口 同時使用 params和data 這兩種傳參方式
params的參數(shù)會拼接在地址欄中,而data中的參數(shù)會拼接在請求體body中,可以在控制臺看到二者
接口
export function updatePeople(data) {
return request({
url: "/registers/update",
method: "post",
// 從data中取出想要的參數(shù),裝入params中
params: {
id: data.id,
},
// data 直接照單全收
data: data,
});
}
地址欄:

參數(shù)

附:前端傳參后端沒接到什么原因
前端傳參后端沒接到可能有多種原因,以下是一些常見的情況:
前端傳參的方式不正確,例如使用 GET 方法傳參時,參數(shù)沒有放在 URL 中;使用 posT 方法傳參時,參數(shù)沒有放在請求體中。
前端傳參時參數(shù)名稱不正確或者參數(shù)值為空,這可能會導致后端無法正確解析參數(shù)。
后端接收參數(shù)的方式不正確,例如使用 GET 方法接收參數(shù)時,沒有正確解析 URL 中的參數(shù);使用 posT 方法接收參數(shù)時,沒有正確解析請求體中的參數(shù)。
后端的接口地址不正確,導致前端傳參的數(shù)據(jù)沒有正確發(fā)送到后端。
網(wǎng)絡通信問題,例如前端請求被防火墻攔截、網(wǎng)絡超時等情況,導致前端傳參后端接收失敗。
總結(jié)
到此這篇關(guān)于前端傳參的三種方式的文章就介紹到這了,更多相關(guān)前端傳參方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
微信小程序?qū)崿F(xiàn)點擊按鈕修改字體顏色功能【附demo源碼下載】
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)點擊按鈕修改字體顏色功能,涉及微信小程序wx:for循環(huán)讀取data數(shù)值及事件綁定修改元素屬性相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
BootStrap點擊保存后實現(xiàn)模態(tài)框自動關(guān)閉的思路(模態(tài)框)
這篇文章主要介紹了BootStrap點擊保存后實現(xiàn)模態(tài)框自動關(guān)閉的思路(模態(tài)框),需要的朋友可以參考下2017-09-09
javascript中利用柯里化函數(shù)實現(xiàn)bind方法【推薦】
下面小編就為大家?guī)硪黄猨avascript中利用柯里化函數(shù)實現(xiàn)bind方法【推薦】。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧2016-04-04
JavaScript時間轉(zhuǎn)換處理函數(shù)
這篇文章主要介紹了JavaScript時間轉(zhuǎn)換處理函數(shù)的方法的相關(guān)資料,需要的朋友可以參考下2015-04-04
jsMind通過鼠標拖拽的方式調(diào)整節(jié)點位置
這篇文章主要介紹了jsMind通過鼠標拖拽的方式調(diào)整節(jié)點位置的方法,十分的簡單實用,推薦給有需要的小伙伴參考下。2015-04-04

