鍍金池/ 問(wèn)答/C++  HTML/ post提交數(shù)據(jù)參數(shù)自動(dòng)轉(zhuǎn)碼

post提交數(shù)據(jù)參數(shù)自動(dòng)轉(zhuǎn)碼

正在做的一個(gè)項(xiàng)目需要富文本功能,提交的時(shí)候使用‘encodeURIComponent’方法做了轉(zhuǎn)碼,但是發(fā)送請(qǐng)求的時(shí)候?yàn)g覽器會(huì)自動(dòng)解碼呢?

已經(jīng)將<p>會(huì)議描述</p>轉(zhuǎn)換成了%3Cp%3E%E4%BC%9A%E8%AE%AE%E6%8F%8F%E8%BF%B0%3C%2Fp%3E
圖片描述

瀏覽器請(qǐng)求顯示發(fā)送的還是<p>會(huì)議描述</p>
圖片描述

請(qǐng)問(wèn)為什么會(huì)自動(dòng)轉(zhuǎn)碼呢?

更新

params.des=encodeURIComponent('<p>會(huì)議描述</p>');//值為%3Cp%3E%E4%BC%9A%E8%AE%AE%E6%8F%8F%E8%BF%B0%3C%2Fp%3E

向后臺(tái)發(fā)送請(qǐng)求

//這個(gè)是我們自己封裝的方法,使用的是nodejs,我看了下源碼提交的時(shí)候里面沒(méi)有編碼的操作
BaseJs.ajaxV3Proxy(meetingTask.path+'url',params, function(json) {
    if(json == 'OK'){
        that.$Message.success('保存成功!');
        that.loading=false;
        that.$router.push({name:'meetList'});
    }
});

上面是比較簡(jiǎn)單的,可以保存成功,加上背景色就500錯(cuò)誤了
比如:

<p><span style="color: rgb(230, 0, 0);">會(huì)議描述</span></p>
回答
編輯回答
款爺

因?yàn)槟J(rèn)的 content-type 是 application/x-www-form-urlencoded,瀏覽器會(huì)把你要 post 的內(nèi)容轉(zhuǎn)義。你可以換成別的類(lèi)型,比如用 FormData 或者 application/json、text/plain 之類(lèi)的。

2017年5月25日 02:38
編輯回答
溫衫

是不是參數(shù)傳錯(cuò)了

"desc" : "<p><span style='color: rgb(230, 0, 0);'>會(huì)議描述</span></p>"
//這里style要用單引號(hào)
//或者
"desc" : '<p><span style="color: rgb(230, 0, 0);">會(huì)議描述</span></p>'
2018年1月4日 07:49
編輯回答
尐潴豬

瀏覽器自動(dòng)轉(zhuǎn)碼有沒(méi)有影響富文本功能?

如果有的話(huà)
可以換一種思路,前端先把內(nèi)容轉(zhuǎn)成base64編碼,然后發(fā)送給后端
后端可以直接存base64,這樣的話(huà),前端想要顯示正常在進(jìn)行base64解碼

2018年1月1日 21:05