欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js前端傳json后臺接收‘‘被轉(zhuǎn)為quot的問題解決

 更新時間:2020年11月12日 08:55:58   作者:LuckyWangxs  
這篇文章主要介紹了js前端傳json后臺接收‘‘被轉(zhuǎn)為"的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、產(chǎn)生原因

        前端傳json格式數(shù)據(jù),后臺接收卻發(fā)現(xiàn)有一堆& quot;,但是如果后臺接收參數(shù)用@RequestBody注解,則不會出現(xiàn)這個問題,出現(xiàn)這一問題的原因就是后臺沒有按照json格式去接收參數(shù),按照json接收參數(shù)的前提是請求頭 參數(shù)Content-Type:application/json,如此一來,后臺框架才知道如何去處理參數(shù),但有時候遇到的需求無法這么寫,例如發(fā)送下載請求:
        json格式參數(shù)最常見的是發(fā)送ajax請求,但是ajax無法觸發(fā)瀏覽器下載機制,故不支持下載使用;

        用a標簽發(fā)下載請求,攜帶參數(shù)有限,適合單個下載請求

        利用form表單拼接參數(shù),提交表單發(fā)送請求,但無法發(fā)送攜帶json參數(shù)的請求,所以只能把json格式的字符串拼接到輸入框,后臺用String接收,這樣就會出現(xiàn)將引號轉(zhuǎn)譯為& quot;這一問題。

二、解決方案

1、方案一

        使用org.apache.commons.lang.StringEscapeUtils這個類下的unescapeHtml()這個方法

@RequestMapping("/downloads")
public ResultVO downloads(String models) {
 String jsonModels = StringEscapeUtils.unescapeHtml(models);
 // 然后再去轉(zhuǎn)為你要的Object
 
 return ResultVO.success();
}

        pom依賴

<dependency>
 <groupId>commons-lang</groupId>
 <artifactId>commons-lang</artifactId>
 <version>2.6</version>
</dependency>

2、方案二

        將所有的&quot替換回引號

String jsonModels = models.replaceAll("&quot;", "\"");

三、結(jié)束

        批量下載已搞定,頗有收獲,所以遇到問題還是需要耐心分析,認真記錄的,不僅要解決掉問題,還要知根知底。 

        另外感謝這篇文章 https://blog.csdn.net/charset_ok/article/details/80239882

到此這篇關(guān)于js前端傳json后臺接收‘‘被轉(zhuǎn)為&quot;的問題解決的文章就介紹到這了,更多相關(guān)json后臺接收&quot;內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論