亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

axios異步提交表單數(shù)據(jù)的幾種方法

 更新時(shí)間:2019年08月11日 08:44:59   作者:賜我白日夢(mèng)  
這篇文章主要給大家介紹了關(guān)于axios異步提交表單數(shù)據(jù)的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位大家學(xué)習(xí)或者使用axios具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

踩坑Axios提交form表單幾種格式

前后端分離的開發(fā)前后端, 前端使用的vue,后端的安全模塊使用的SpringSecurity,使用postman測(cè)試后端的權(quán)限接口時(shí)發(fā)現(xiàn)都正常,但是使用vue+axios發(fā)送異步的請(qǐng)求后端一直獲取不出axios提交的form表單的數(shù)據(jù),爬坑兩個(gè)半鐘頭找到了答案

axios用post異步形式提交的數(shù)據(jù)和我們直接使用from表單提交的數(shù)據(jù)的格式(Form Data格式)是不一樣的,在下面列舉

默認(rèn)格式Request Payload

直接使用axios發(fā)送異步請(qǐng)求,沒任何處理的代碼如下:

const service = axios.create({})

doLogin (pojo) {
 return request({
  url: '/api/user/login',
  method: 'post',
  data: pojo
 })

這種方式提交的表單格式是默認(rèn)是RequestPayload, 它的長(zhǎng)下面這個(gè)樣子

可以看到,它的Contet-type是 "Content-Type": "application/json;"
但是后臺(tái)的SpringSecurity對(duì)這種結(jié)果可不買單,在Request中解析不出任何數(shù)據(jù)來

處理成Form Data格式

使用插件qs, 安裝命令如下:

npm install --save qs

請(qǐng)求編碼:

const service = axios.create({})

 doLogin (pojo) {
 return request({
  url: '/api/user/login',
  method: 'post',
  data: qs.stringify(pojo)
 })
 }
 
 或者
 
 doLogin (pojo) {
 return request({
  url: '/api/user/login',
  method: 'post',
  data: pojo ,
  transformRequest: [function (data) {
  data = qs.stringify(data);
  return data;
  }],
 })
 }

經(jīng)過這樣處理的表單數(shù)據(jù)長(zhǎng)成下面的這樣, 這也是我們最常用的Form Data格式,這種格式的數(shù)據(jù)可以從后臺(tái)的HttpRequest中把提交的屬性解析出來

其他類型的Content-Type對(duì)應(yīng)的表單數(shù)據(jù)格式

const service = axios.create({
 headers: {
  "Content-Type": "multipart/form-data; charset=utf-8;"
  }
})

 doLogin (pojo) {
 return request({
  url: '/api/user/login',
  method: 'post',
  data: qs.stringify(pojo)
  })
 }

它長(zhǎng)這樣

const service = axios.create({
 headers: {
  "Content-Type": "multipart/form-data; charset=utf-8;"
  }
})

 doLogin (pojo) {
 return request({
  url: '/api/user/login',
  method: 'post',
  data: pojo
  })
 }
---

const service = axios.create({
 headers: {
  "Content-Type": "multipart/form-data; charset=utf-8;"
  }
})

 doLogin (pojo) {
 return request({
  url: '/api/user/login',
  method: 'post',
  data:pojo
  })
 }

const service = axios.create({
 headers: {
  "Content-Type": "application/x-www-form-urlencoded; charset=utf-8;"
 }
})

 doLogin (pojo) {
 return request({
  url: '/api/user/login',
  method: 'post',
  data: qs.stringify(pojo)
 })
 }

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 詳解@Vue/Cli 3 Invalid Host header 錯(cuò)誤解決辦法

    詳解@Vue/Cli 3 Invalid Host header 錯(cuò)誤解決辦法

    這篇文章主要介紹了詳解@Vue/Cli 3 Invalid Host header 錯(cuò)誤解決辦法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • 深入淺析Vue中mixin和extend的區(qū)別和使用場(chǎng)景

    深入淺析Vue中mixin和extend的區(qū)別和使用場(chǎng)景

    Vue中有兩個(gè)較為高級(jí)的靜態(tài)方法mixin和extend,接下來給大家介紹Vue中mixin和extend的區(qū)別和使用場(chǎng)景,感興趣的朋友一起看看吧
    2019-08-08
  • vue + webpack如何繞過QQ音樂接口對(duì)host的驗(yàn)證詳解

    vue + webpack如何繞過QQ音樂接口對(duì)host的驗(yàn)證詳解

    這篇文章主要給大家介紹了關(guān)于利用vue + webpack如何繞過QQ音樂接口對(duì)host的驗(yàn)證的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 一文帶你搞定svg-icon的使用方式

    一文帶你搞定svg-icon的使用方式

    這篇文章主要介紹了一文帶你搞定svg-icon的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue-cli2打包前和打包后的css前綴不一致的問題解決

    vue-cli2打包前和打包后的css前綴不一致的問題解決

    這篇文章主要介紹了vue-cli2打包前和打包后的css前綴不一致的問題解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • vue 實(shí)現(xiàn)element-ui中的加載中狀態(tài)

    vue 實(shí)現(xiàn)element-ui中的加載中狀態(tài)

    這篇文章主要介紹了vue 實(shí)現(xiàn)element-ui中的加載中狀態(tài),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue項(xiàng)目雙滑塊組件使用

    vue項(xiàng)目雙滑塊組件使用

    這篇文章主要介紹了vue項(xiàng)目雙滑塊組件使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vue2結(jié)合echarts實(shí)現(xiàn)一個(gè)地圖的效果

    vue2結(jié)合echarts實(shí)現(xiàn)一個(gè)地圖的效果

    這篇文章主要介紹了vue2結(jié)合echarts實(shí)現(xiàn)一個(gè)地圖的效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家何用vue和echarts實(shí)現(xiàn)一個(gè)地圖有一定的幫助,感興趣的朋友一起看看吧
    2024-03-03
  • vue打包部署到springboot的實(shí)現(xiàn)示例

    vue打包部署到springboot的實(shí)現(xiàn)示例

    項(xiàng)目開發(fā)中,一般我們都會(huì)使用SpringBoot+Vue進(jìn)行前后端開發(fā),本文主要介紹了vue打包部署到springboot的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • Vue.js 3.x 中的響應(yīng)式數(shù)據(jù)ref 與 reactive詳解

    Vue.js 3.x 中的響應(yīng)式數(shù)據(jù)ref 與 reactive詳解

    ref 和 reactive 是 Vue.js 3 中用于創(chuàng)建響應(yīng)式數(shù)據(jù)的兩個(gè)關(guān)鍵函數(shù),它們分別適用于不同類型的數(shù)據(jù),幫助我們更好地組織和管理組件的狀態(tài),這篇文章主要介紹了Vue.js 3.x 中的響應(yīng)式數(shù)據(jù):ref 與 reactive,需要的朋友可以參考下
    2024-01-01

最新評(píng)論