axios請求參數(shù)的三種方式示例詳解
axios請求參數(shù)的三種方式
1、拼接方式: ? &
1. Query String Parameters(URL參數(shù))
// + 請求頭參數(shù) => 參數(shù)被定義在請求頭的 請求地址中
// + 該參數(shù)的攜帶方式主要被應用于無請求體的請求中
// + http|https協(xié)議的組成中,以?關鍵字分割地址和參數(shù)
// + 參數(shù)由 key=value&key=value…… 字符串格式進行組成
// - key 參數(shù)屬性名(該屬性名由服務器段決定)
// - value 參數(shù)屬性值(理論上任何可以轉換為字符串的數(shù)據(jù)都可以作為參數(shù))
// * URL地址存在長度限制,所以參數(shù)容量有限,一般用于攜帶簡單的關鍵參數(shù)
// * JS中有些數(shù)據(jù)類型強制轉換為字符串,會輸出無效數(shù)據(jù)
<input type="button" value="URL參數(shù)-地址拼接" onclick="sendURLParams()">
function sendURLParams(){
axios.get("http://127.0.0.1:3000/public/params?username=admin&tel=12345678901")
.then(( {data} )=>{
console.log(data);
})
.catch((error)=>{
console.log(error);
Notice.error({ title:"請求失敗" })
})
}2、通過配置設置參數(shù):params:{ }
// 2. Request payload
// + 請求體參數(shù)
// + 該參數(shù)的攜帶方式只能被應用于有請求體的請求中
<input type="button" value="URL參數(shù)-通過配置設定參數(shù)" onclick="sendURLParams2()">
function sendURLParams2(){
axios.get("http://127.0.0.1:3000/public/params",{
// `params` 是與請求一起發(fā)送的 URL 參數(shù),自動完成參數(shù)格式狀態(tài)
params:{
username:"tom",
tel:12345678901
}
})
.then(( {data} )=>{
console.log(data);
})
.catch((error)=>{
console.log(error);
Notice.error({ title:"請求失敗" })
})
}3、Form Data(請求體參數(shù))==>動態(tài)參數(shù),也就是說通過獲取dom節(jié)點的value值來動態(tài)獲取參數(shù)
// 3. Form Data(請求體參數(shù))
// + 請求體參數(shù)
// + 該參數(shù)的攜帶方式只能被應用于有請求體的請求中
// HTTP 的請求組成(請求報文)(抓包)
// 請求報文頭|請求報文基礎信息 = 存儲請求必要的解釋信息(請求類型、請求格式、請求時長……)
// 請求報文體|額外的請求參數(shù)攜帶
// HTTP 的響應組成(響應報文)
// 響應報文頭 = 存儲請求必要的解釋信息(請求類型、請求格式、請求時長……)
// 響應報文體|服務器響應結果
<input id="username" type="text" value="admin">
<input id="tel" type="text" value="12345678901">
<input type="button" value="URL參數(shù)-動態(tài)參數(shù)" onclick="sendURLParams3()">
function sendURLParams3(){
axios.get("http://127.0.0.1:3000/public/params",{
params:{
username:document.getElementById("username").value,
tel:document.getElementById("tel").value
}
})
.then(( {data} )=>{
console.log(data);
})
.catch((error)=>{
console.log(error);
Notice.error({ title:"請求失敗" })
})
}Axios傳參的三種方式
一:get請求
axios中常見的get/delete請求,也稱作query請求:
//一般發(fā)送請求是這么寫(不推薦):
axios.get('/user?id=12345&name=user')
.then(function (res) {
console.log(res);
}).catch(function (err) {
console.log(err);
});
//但是為了方便全局統(tǒng)一調(diào)用封裝的axios,我一般采用(推薦)
axios.get('/user', { //params參數(shù)必寫 , 如果沒有參數(shù)傳{}也可以
params: {
id: 12345,
name: user
}
})
.then(function (res) {
console.log(res);
})
.catch(function (err) {
console.log(err);
});二:post/put/patch請求
傳參方式大致用的有3種
(1) ‘Content-Type’= ‘multipart/form-data’
傳參格式為 formData
(全局請求頭:‘Content-Type’= ‘application/x-www-form-urlencoded’)
(request的Header:‘Content-Type’= ‘multipart/form-data’)
var formData=new FormData();
formData.append('user',123456);
formData.append('pass',12345678);
axios.post("/notice",formData)
.then((res) => {return res})
.catch((err) => {return err})(2) ‘Content-Type’= ‘application/x-www-form-urlencoded’
傳參格式為 query 形式,使用$qs.stringify
(全局請求頭:‘Content-Type’= ‘application/x-www-form-urlencoded’)
(request的Header:‘Content-Type’= ‘application/x-www-form-urlencoded’)
import axios from 'axios'
import qs from 'Qs'
let data = {"code":"1234","name":"yyyy"};
axios.post(`${this.$url}/test/testRequest`,qs.stringify({
data
}))
.then(res=>{
console.log('res=>',res);
})(3) ‘Content-Type’= 'application/json
傳參格式為 raw (JSON格式)
(全局請求頭:‘Content-Type’= ‘application/x-www-form-urlencoded’)
(request的Header:‘Content-Type’= ‘application/json;charset=UTF-8’)
//方法一:
import axios from 'axios'
let data = {"code":"1234","name":"yyyy"};
axios.post(`${this.$url}/test/testRequest`,data)
.then(res=>{
console.log('res=>',res);
})
//方法二:
var readyData=JSON.stringify({
id:1234,
name:user
});
axios.post("/notice",readyData)
.then((res) => {return res})
.catch((err) => {return err})到此這篇關于axios請求參數(shù)的三種方式的文章就介紹到這了,更多相關axios請求參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
EXT中單擊button按鈕grid添加一行(光標位置可設置)的實例代碼
這篇文章主要介紹了EXT中單擊button按鈕grid添加一行(光標位置可設置)的實例代碼 的相關資料,需要的朋友可以參考下2016-06-06

