当前位置 博文首页 > zhengjianhua1996的博客:富文本、文本域特殊字符影响前端取值转

    zhengjianhua1996的博客:富文本、文本域特殊字符影响前端取值转

    作者:[db:作者] 时间:2021-08-19 18:40

    转载自:文本域特殊字符影响前端取值转换等问题

    在使用文本域、富文本编辑器时,如果保存的数据中存在单引号(') 双引号(") 换行符(\r\n)等特殊字符。在某些情况下前端解析数据或展示数据会存在问题。如下:

    1、后端传递数据使用model方式,前端js中用变量来接收。使用单引号 如 var json='${json}' 时,如果数据中存在(')则会报js错误,同理使用双引号接收,数据中存在双引号一样会出现问题。

    2、后端传递数据返回的是json字符串,需要取的数据是对象中的某个属性。前端取值时,需要先将json字符串转成js对象 JSON.parse(json) 如果数据中存在 单引号 双引号 会出现同1 的错误? 如果存在 \r\n 转换js对象也会不成功。

    3、后端传递数据返回的是json字符串,需要取的数据就是该json字符串。如果前端需要将该字符串拼接到html标签中用于缓存数据,如果数据中存在 单引号 双引号 则html标签结构会被破坏,出现问题。

    ?

    解决方案:

    针对可能出现特殊字符的字段或者内容,在后端先使用URLEncode.encode(json,"UTF-8") 进行编码

    在前端获取数据、缓存数据等过程中使用编码后的数据。在最终展示数据时使用decodeURI(json) 进行解码

    ?

    cs