鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ http請求FormData數(shù)據(jù)兩種形式的區(qū)別

http請求FormData數(shù)據(jù)兩種形式的區(qū)別

用axios發(fā)送post請求,使用FormData發(fā)送數(shù)據(jù),格式如下
圖片描述

但是之前的請求中數(shù)據(jù)格式是下面這樣的,應(yīng)該使用jQuery發(fā)的。
圖片描述

請問這兩者有什么區(qū)別? 因為第一種響應(yīng)是true,但是好像還沒刪除成功!

export const delHandBook= params => {
    return axios.post(`${base}/fileManage/deleteHandBook`, params, {headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}}).then(res => res.data);
};
回答
編輯回答
奧特蛋
2017年5月13日 12:16
編輯回答
編輯回答
款爺

一種是原樣傳遞,一種是url編碼后傳遞,分別對應(yīng)multipart/form-data和urlencode

2017年1月17日 02:30
編輯回答
汐顏

你在 axios 中直接發(fā)送formData的值,就是你圖一的樣子。 沒有刪除成功是你后端沒有正確的處理你提交過去的數(shù)據(jù)。

如果你想使用formData并且傳遞過去的數(shù)據(jù)是圖二,那么你可以使用URLSearchParams包裝一下(有的話文件會被過濾掉)

let form = new FormData();
form.append('name', '111');
let param = new URLSearchParams(form);

axios.post('xxxx', param).then((res) => { console.log(res)}) 

clipboard.png

2018年9月15日 08:55
編輯回答
失魂人

第一種那個應(yīng)該是文件上傳吧
補充
這是我用form-data提交數(shù)據(jù)的請求
clipboard.png
請求代碼如下
clipboard.png
你第一個圖顯示的只在上傳文件見過,是把文件編譯成二進制上傳
按照你的寫法,發(fā)出的請求是這樣的:

clipboard.png

2017年7月12日 03:06