富文本 保存数据报错, id 自增长 递增方式错乱

Blade 未结 2 913
橙柒
橙柒 2022-06-02 16:55

一、该问题的重现步骤是什么?

1. 新增商品,富文本编辑传进来的字符串结果与前端传递的结果不一致image.png

2. 前端代码    不进行字符串转换报一下错误

image.png

java后台报错


2022-06-02 16:02:36.880 ERROR 59940 --- [  XNIO-1 task-1] o.s.c.log.error.RestExceptionTranslator  : 消息不能读取:JSON parse error: Unexpected character ('\' (code 92)): was expecting comma to separate Object entries; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character ('\' (code 92)): was expecting comma to separate Object entries

 at [Source: (PushbackInputStream); line: 1, column: 894]


使用 下列代码进行字符串转换后,保存成功,但是goodsDetail 展示的内容与传入内容不一致


const str = this.goodsDetail.goodsDetail;

const reg = /src=/g;

// console.log("321312312312", str.replace(reg, "src ="));

image.png

3.保存 前端控制查看传入参数如下

image.png


goodsDetail: "

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n
\n

\n\t\n

\n\n

\n\t\n

\n

\n\t\n

\n

\n\t\n

\n

\n\t\n

\n

\n\t\n

\n

\n\t\n

\n

\n\t\n

\n

\n\t\n

\n

\n\t\n

\n

\n\t\n

\n

\n\t\n

\n

\n\t\n

\n

\n\t\n

\n

\n\t\n

\n
\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n\t

\n\t\t\n\t

\n
\n
\n\t
\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t\n\t\t

\n\t\t

\n\t\t\t

https://img.maizuo.com/product/b436dc1649f5254577dfe2233fe608f6-100007910437.jpg\">\n\t\t

\n\t
\n
"



后端实际接受到的参数情况如何

image.png

  1. 传入的字符串信息完成对应不上,  html标签丢失


  2. 二、你期待的结果是什么?实际看到的又是什么?




三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。

报错信息, 

image.png

java后台报错


2022-06-02 16:02:36.880 ERROR 59940 --- [  XNIO-1 task-1] o.s.c.log.error.RestExceptionTranslator  : 消息不能读取:JSON parse error: Unexpected character ('\' (code 92)): was expecting comma to separate Object entries; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character ('\' (code 92)): was expecting comma to separate Object entries

 at [Source: (PushbackInputStream); line: 1, column: 894]



还有保存时id  从1开始自增的问题

使用了alter table tb_xx AUTO_INCREMENT=1  保存一条正常后,同事通过访问的api 保存的id 改变


image.png

两种新增结果


先 使用了 TRUNCATE table y_goods_info;  清理了数据库

在使用了alter table tb_xx AUTO_INCREMENT=1 


我自己新增结果正常,

同事新增的结果又回到了最开始



五、若有更多详细信息,请在下面提供。

源代码,数据库已发送邮箱





goodsDetai  值 使用下列数据 L:




2条回答
  •  admin
    admin (楼主)
    2022-06-02 23:16

    第一个问题见楼上,关掉xss过滤,就不会出现html标签丢失的问题了

    第二个问题,那明显是又从autoId变成了snowflake的id。至于你说的你调用可以,同事不行,我们不是很清楚,请问指的是同事也访问你本地的服务操作的?还是他另开的接口?还是说他用的自己的代码链接服务器的?只有这些确定了才可以判断。

    所以推荐你本地启动一下服务器,做一个内网穿透,把临时映射的外网地址发我们邮箱,这样我们就可以测试你本地的服务了。


    至于你本地可以实现自增,那大概率代码是没问题的,所以现在就要帮你找“同事访问不对”的问题。

    内网穿透免费版本请见:https://natapp.cn/article/natapp_newbie


    作者追问:2022-06-02 23:16

    局域网内,同事链接我的电脑进行联调,数据库事阿里云的mysql5.7版本,   他前端。接口地址访问我的,  我自己也开了一个前端代码

提交回复