国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

axios中post請求后臺接收不到參數(shù)的解釋

這篇具有很好參考價(jià)值的文章主要介紹了axios中post請求后臺接收不到參數(shù)的解釋。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

最近在做項(xiàng)目,用axios向后臺發(fā)送post請求,具體的寫法參照官方文檔的寫法:

// 發(fā)送 POST 請求
axios({
  method: 'post',
  url: ‘http://127.0.0.1:3000/login'
  data: {
    username: admin,
    password: admin
  }
}).then((value)=>{
	console.log(value)
})
.catch(reason=>{console.log(reason)});

我發(fā)現(xiàn),其實(shí)后臺是接收到了post請求,但是一直無法解析我傳過去的參數(shù),而且我嘗試用postman測試了一下接口,用postman時(shí)可以正確傳參的,同時(shí),我在后臺打印了一下傳過去的參數(shù),發(fā)現(xiàn)username和password都是undefined,說明是我傳參的方式出了問題。

找了很久都沒有找到原因,然后我查閱了下網(wǎng)上資料,把傳參改成了以下格式:

        let param = new URLSearchParams()
        param.append('username', 'admin')
        param.append('password','admin')
        axios({
            method: 'post',
            url: "http://127.0.0.1:3000/login",
            data: param
        })
            .then((result) => { console.log(result) })
            .catch((reason) => { console.log(reason) })
    };

這個(gè)時(shí)候,發(fā)現(xiàn)后臺已經(jīng)可以接收到參數(shù)了。

查閱了下文檔,發(fā)現(xiàn):

  • axios的get請求都是把參數(shù)放在params屬性下,在post請求下有兩種方法,一種是放在params屬性中,適合傳參較少且數(shù)據(jù)較簡單的情況,另外一種是放在data屬性中,如果傳參中含有引號、等號、拼接的json串或傳參的數(shù)據(jù)量較大時(shí)候使用;
  • 源碼是這樣的:
//如果是帶&&的參數(shù)的格式轉(zhuǎn)成String
if(utils.isURLSearchParams(data){ 
  setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded'); 
  return data.tostring(); 
} 
//如果是object對象轉(zhuǎn)成json格式
if(utils.isObject(data){ 
  setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); 
  return JSON.stringfy(data); 
}
  • 我想起之前后臺的服務(wù)器的配置,node后臺一般會(huì)配置中間件解析數(shù)據(jù),包含兩種方式:
app.use(express.urlencoded({extended: true})) // 請求體參數(shù)是: name=tom&pwd=123
app.use(express.json()) // 請求體參數(shù)是json結(jié)構(gòu): {name: tom, pwd: 123}

看到這里就豁然開朗了,post請求的兩種數(shù)據(jù)格式要和后臺的解析方式相對應(yīng),如果后臺固定了,就可以通過前端js代碼對數(shù)據(jù)格式進(jìn)行轉(zhuǎn)換

這個(gè)bug當(dāng)時(shí)找了蠻久,關(guān)鍵是要知道出錯(cuò)的根本原因,才知道后面遇到類似的問題如果解決。文章來源地址http://www.zghlxwxcb.cn/news/detail-518090.html

到了這里,關(guān)于axios中post請求后臺接收不到參數(shù)的解釋的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringBoot - Post請求-接收參數(shù)

    SpringBoot - Post請求-接收參數(shù)

    1、下面樣例?Controller?接收?form-data?格式的?POST?數(shù)據(jù): 2、下面是一個(gè)簡單的測試樣例: 1 、如果沒有傳遞參數(shù) ? Controller ? 將會(huì)報(bào)錯(cuò),這個(gè)同樣有如下兩種解決辦法: 使用 ?required = false? 標(biāo)注參數(shù)是非必須的。 使用 ? defaultValue ? 給參數(shù)指定個(gè)默認(rèn)值。 2、下面是一個(gè)簡

    2024年02月08日
    瀏覽(24)
  • nodejs接收post請求的參數(shù)

    post請求參數(shù)不直接在url路徑中拼接,而是放在請求體中發(fā)送給服務(wù)器 請求三要素:請求行、請求頭、請求體 post請求參數(shù)不能直接在url路徑中拼接,所以一般使用ajax請求來發(fā)送post請求參數(shù) 通常都是提交form表單數(shù)據(jù)使用post請求 1.2-服務(wù)端接收post請求參數(shù)的方式 與get請求不同

    2024年02月02日
    瀏覽(20)
  • 因?yàn)閍xios請求后端,接收不到token的問引出的問題

    因?yàn)閍xios請求后端,接收不到token的問引出的問題

    相關(guān)概念 什么是跨域? 跨域指的是在瀏覽器環(huán)境下,當(dāng)發(fā)起請求的域(或者網(wǎng)站)與請求的資源所在的域之間存在協(xié)議、主機(jī)或端口中的任何一個(gè)條件不同的情況。換句話說,只要協(xié)議、主機(jī)或端口中有一個(gè)不同,就會(huì)被認(rèn)為是跨域請求。 具體來說,以下情況都屬于跨域請

    2024年02月10日
    瀏覽(23)
  • Http中post/get請求參數(shù)接收

    Http中post/get請求參數(shù)接收

    Http請求報(bào)文示例圖如下: ? ①是請求方法,GET和POST是最常見的HTTP方法,除此以外還包括DELETE、HEAD、OPTIONS、PUT、TRACE。不過,當(dāng)前的大多數(shù)瀏覽器只支持GET和POST,Spring 3.0提供了一個(gè)HiddenHttpMethodFilter,允許通過_method的表單參數(shù)指定這些特殊的HTTP方法(實(shí)際上還是通過POST提

    2024年01月25日
    瀏覽(34)
  • ajax-axios發(fā)送 get請求 或者 發(fā)送post請求帶有請求體參數(shù)
  • @PathVariable、@PathParam、@RequestBody接收axios傳遞的請求參數(shù);后端接收前端傳遞過來的參數(shù)

    目錄 一、前言 :Content-Type 類型 ? ?(1)、?application/x-www-form-urlencoded 類型 (2)、application/json 類型 二、@PathVariable 二、@PathParam? 三、@RequestBody ?四、后端發(fā)送數(shù)據(jù)給前端 五、注意事項(xiàng) ? ? ? ? 請求參數(shù)以key-value的形式傳輸 ? ? ? ? 請求參數(shù)以JOSN串的形式傳輸 ? ? ? ? ax

    2024年01月18日
    瀏覽(21)
  • vue2前端使用axios發(fā)起post請求,后端(springboot)拿不到值解決辦法

    vue2前端使用axios發(fā)起post請求,后端(springboot)拿不到值解決辦法

    axios封裝-我常用的請求頭參數(shù)? application/json; charset=utf-8 頁面登錄請求-post 網(wǎng)絡(luò)請求正常傳入?yún)?shù) 后端代碼,查看控制臺發(fā)現(xiàn)都為null,沒取到值。 1.嘗試將前端post請求改成get,其他都不用變 發(fā)現(xiàn)正常取到值,打印輸出正常。前端頁面正常跳轉(zhuǎn)。 2.后端設(shè)置為post請求,前端a

    2024年02月02日
    瀏覽(22)
  • axios的put/post請求攜帶一個(gè)string 類型的參數(shù), 前端代碼和后端接收方法

    使用axios發(fā)送post請求, 后端支持接收單個(gè)字段 想要讓后端支持接收單個(gè)字段,前端就必須是 FormData 格式或 x-www-form-urlencoded 格式,所以參數(shù)對象就不能是簡單的js對象了,具體代碼如下: 后端使用@RequestParam注解接收。 使用axios發(fā)送post請求, 后端整體接收json對象 前端代碼 da

    2024年02月07日
    瀏覽(24)
  • Axios post請求出現(xiàn)500錯(cuò)誤

    Axios post請求出現(xiàn)500錯(cuò)誤

    筆者在編寫前端form表單傳后端數(shù)據(jù)的時(shí)候,出現(xiàn)了以下問題 當(dāng)我用axios發(fā)送post請求的時(shí)候,出現(xiàn)了500錯(cuò)誤 筆者找了很長時(shí)間錯(cuò)誤,代碼沒問題,后端接口也沒問題, 后來發(fā)現(xiàn)問題出在實(shí)體類上了 當(dāng)前端post請求調(diào)后端接口時(shí)候,后端控制臺打印如下錯(cuò)誤 看到錯(cuò)誤提示說無法

    2024年02月07日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包