vue專案中GET請求傳陣列型別引數

2021-10-09 17:59:20 字數 952 閱讀 2589

在ajax非同步請求為get方式時,如果需要傳遞到後台的引數是陣列型別,直接通過query的方式會有問題,引數在url上的展示形式如下:

引數:url:

通過query的方式傳參,請求url變成了下面這樣

?name=張三&id=李四&id=王五&id=趙六

這樣服務端解析的引數是錯誤的,下面介紹兩種我曾經是用過的方式:

這種方式簡單粗暴,直接遍歷name陣列,拼接在url後面

let name=[『張三』,'李四','王五','趙六'];

let str="?"

for(var index in name)

let url=''+str

qs主要是增加一些安全性的查詢字串解析和序列化字串的庫,詳細文件:

qs中的序列化一般有以下幾種配置,

1、qs.stringify(, )

// 輸出結果:'a[0]=b&a[1]=c'

2、qs.stringify(, )

// 輸出結果:'a=b&a=c'

3、qs.stringify(, )

// 輸出結果:'a=b&a=c'

4、qs.stringify(, )

// 輸出結果:'a=b,c'

其中的序列化結果滿足我們的條件,我們可以在axios請求***中對引數進行序列化配置,具體實現**如下:

a.安裝qs

npm i qs
b.在axios請求方法檔案中使用,我的檔名是request.js 

// request.js

import qs from 'qs'

....

axios.interceptors.request.use(async (config) => )

} }}

專案中post請求和get請求亂碼的問題解決

在web.xml中加入一下 characterencodingfilterfilter name org.springframework.web.filter.characterencodingfilterfilter class encodingparam name utf 8param valu...

vue專案中封裝axios請求

1.前言 之前是我負責這個專案的搭建,及打包上線,整個專案都是我乙個人來做,所以介面寫的遍地都是,造成了瀏覽起來很難受,不便於維護 所以就打算封裝一下axios 建立乙個apis 的js檔案來集中管理介面,走著!首先考慮的是通過promise來封裝axios,使 看起來更清晰明了 2.1 專案中引入...

vue 預檢 vue專案中的請求問題

axios post會傳送2次請求 第一次為options options不帶引數 第二次為自己設定的post請求 帶參 這段為引用 跨域資源共享標準新增了一組 http 首部字段,允許伺服器宣告哪些源站有許可權訪問哪些資源。另外,規範要求,對那些可能對伺服器資料產生 的 http 請求方法 特別是...