91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

axios異步提交表單數據的幾種方法

發布時間:2020-08-26 23:32:19 來源:腳本之家 閱讀:242 作者:賜我白日夢 欄目:web開發

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

前后端分離的開發前后端, 前端使用的vue,后端的安全模塊使用的SpringSecurity,使用postman測試后端的權限接口時發現都正常,但是使用vue+axios發送異步的請求后端一直獲取不出axios提交的form表單的數據,爬坑兩個半鐘頭找到了答案

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

默認格式Request Payload

直接使用axios發送異步請求,沒任何處理的代碼如下:

const service = axios.create({})

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

這種方式提交的表單格式是默認是RequestPayload, 它的長下面這個樣子

axios異步提交表單數據的幾種方法

可以看到,它的Contet-type是 "Content-Type": "application/json;"
但是后臺的SpringSecurity對這種結果可不買單,在Request中解析不出任何數據來

處理成Form Data格式

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

npm install --save qs

請求編碼:

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;
  }],
 })
 }

經過這樣處理的表單數據長成下面的這樣, 這也是我們最常用的Form Data格式,這種格式的數據可以從后臺的HttpRequest中把提交的屬性解析出來

axios異步提交表單數據的幾種方法

其他類型的Content-Type對應的表單數據格式

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)
  })
 }

它長這樣

axios異步提交表單數據的幾種方法

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
  })
 }
---

axios異步提交表單數據的幾種方法

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
  })
 }

axios異步提交表單數據的幾種方法

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)
 })
 }

axios異步提交表單數據的幾種方法

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太白县| 梁河县| 西丰县| 海林市| 聊城市| 赞皇县| 瑞安市| 鹿邑县| 犍为县| 麦盖提县| 汪清县| 襄汾县| 辽阳市| 高安市| 乌兰察布市| 永安市| 哈密市| 抚州市| 盐边县| 嵊州市| 那坡县| 武乡县| 惠东县| 泽普县| 香格里拉县| 杂多县| 吴川市| 永平县| 芷江| 新丰县| 万宁市| 苏尼特左旗| 海阳市| 峨山| 叶城县| 依安县| 漠河县| 高邑县| 广宗县| 连南| 淅川县|