axios中post傳參方式

2022-08-31 14:54:25 字數 874 閱讀 8572

最近做vue專案,做上傳的功能,使用get給後台傳送資料,後台能收到,使用post給後台傳送資訊的時候,

vue axios post請求傳送base64編碼給後台報錯http 錯誤 414

請求一直報錯,顯示request uri too large

後台顯示一直沒有收到資料 引數為null。網上檢視了很多資料,才知道axios post傳參的問題。

this.$axios(

}).then((res)=>)

一開始我是這麼寫的 ,post裡面的資料放在params裡面,這樣是有問題的,在使用axios時,要注意到配置選項中包含params和data兩者,以為他們是相同的,實則不然。 

因為params是新增到url的請求字串中的,用於get請求。

而data是新增到請求體(body)中的, 用於post請求。

解決辦法:

1、在main.js裡 設定配置,修改content-type

import axios from 'axios';

vue.prototype.$axios = axios;

2、在元件vue裡

const url ='http://****你的介面****';

var params = new urlsearchparams();

this.$axios().then((res)=>);

這樣後台就收到資料了 請求成功;不過這個方法相容性非常不好,ie瀏覽器完全不相容。

axios 請求傳參

let params params 1.get 請求不傳參 eg this.axios.get then res 2.get 請求攜帶引數 get 請求攜帶引數,攜帶斜槓後引數 例如id id this.axios.get 動態的id then res get 攜帶請求引數,問號後邊的引數 例如 e...

post方式傳參,在程式中獲取不到傳的值

public commonresultdeleterole integer roleid post方式,傳參是json格式的話,上述方法列印是null 實際上前端已經傳了,只是我們接收的方式不對。解決方法一 使用註解 requestbody,需要使用 jsonobject 轉換 public com...

axios處理陣列傳參

但有一種post情況不是用表單提交的,後端希望接收的引數與表單提交的格式保持一致,這時就需要前端對引數做序列化處理了,這裡常用的是qs處理 安裝qs npm install qs s後端要求的陣列引數為以下格式 前端的原始引數 let params params qs.stringify param...