当前位置: 首页 > news >正文

住房和城乡建设部网站打不开网站建设免费

住房和城乡建设部网站打不开,网站建设免费,建筑施工企业专职安全生产管理员,小米网站seo分析报告+书文章目录 bug背景解决思路1:解决思路2解决思路3(最终解决方案)后记 bug背景 项目中采用富文本编辑器后传参引起的bug,起因如下: 数据库中存入的数据会变成这种未经转码的URL编码 解决思路1: 使用JSON方…

文章目录

    • bug背景
    • 解决思路1:
    • 解决思路2
    • 解决思路3(最终解决方案)
    • 后记

bug背景

项目中采用富文本编辑器后传参引起的bug,起因如下:
在这里插入图片描述
在这里插入图片描述
数据库中存入的数据会变成这种未经转码的URL编码

在这里插入图片描述


解决思路1:

使用JSON方式传参,但富文本编辑器不支持将内容转成JSON,会遗失标签,显然不符合把富文本文章存入数据库的需求,所以PASS


解决思路2

使用URL拼接方式传参,而缺点也是明显的,URL拼接的参数长度有限,用户就不能编写长文本了。
且用此种方法,后端接收到的数据依旧会因特殊字符而转码失败(不知道是不是框架MVC配置的拦截器逻辑有问题,遇到特殊字符后就不去处理了),用URLDecoder.decode方法手动转码又过于不优雅,也不符合高可用的理念

在这里插入图片描述


解决思路3(最终解决方案)

前端使用URLSearchParams 对象以键值对方式传参
似乎是目前比较合适的解决方法

// 创建URLSearchParams对象,将参数用append方法以键值对一个个放入
const params = new URLSearchParams();params.append('key1', 'value1');params.append('key2', 'value2');

URLSearchParams 对象参考:【JS】URLSearchParams 对象(以对象的形式上传参数到url)
需要考虑各浏览器兼容性问题和解决方案

vue3前端请求方法:

const onSubmit = async function (formEl: FormInstance | undefined) {console.log(formEl)formEl.validate(async valid => {if (valid) {try {const params = new URLSearchParams()params.append('content.content', form.contentStr)params.append('destId', form.destId.toString())params.append('title', form.title)params.append('travelTime', form.travelTime)params.append('coverUrl', form.coverUrl)params.append('isPublic', form.isPublic ? '1' : '0')params.append('person', form.person)params.append('days', form.days)params.append('avgConsume', form.avgConsume)params.append('summary', form.summary)// let params = {//   destId: form.destId,//   title: form.title,//   travelTime: form.travelTime,//   coverUrl: form.coverUrl,//   isPublic: form.isPublic ? '1' : '0',//   person: form.person,//   days: form.days,//   avgConsume: form.avgConsume,//   summary: form.summary,//   contentStr: form.contentStr// }//params['content.content'] = params.contentStrconst res = await travelsAdd(params)ElMessage.success('提交日志成功')router.push('/personal/travels')} catch (err) {console.log(err)ElMessage.error(err.msg)}} else {return false}})
}

前端控制台:
在这里插入图片描述

后端请求接收,富文本context数据正常

在这里插入图片描述
在这里插入图片描述

写入数据库正常,大功告成~!


后记

自从成为全栈后感觉思考问题和找bug的视野更广了,写代码也觉得越来越有趣,越来越顺畅。相信自己选择的路,即使它不一定对,只要努力让自己不后悔就好。学有所成,劳有所获,加油~!

http://www.yayakq.cn/news/355635/

相关文章:

  • 广州市网站建设 骏域iis 网站 起不来 temp文件夹
  • 网站怎么留住用户第二代营销网站
  • 网站建设捌金手指花总八苏州网上注册公司流程
  • 微信公众号做留言网站创网网络
  • 班级网站建设步骤亳州有做网站的吗
  • 深圳微信网站建设网络营销管理的起点是
  • 招聘网站开发的要求淘宝网网站建设
  • 做背景网站全国集团网站建设
  • 电脑网站上的电影怎么下载邢台营销型网站建设费用
  • 网站制作用什么编程创建一个个人网站需要多少钱
  • 域名展示网站源码广告设计培训学校
  • qq网站 直接登录龙岩网红街
  • 钓鱼网站制作教程上海制造业企业100强
  • 建设银行网站支付限额怎么办wordpress同步插件
  • 网站首页做很多个关键词在设计赚钱的网站有哪些
  • oa办公系统如何使用手机优化大师官网
  • 建房城乡建设部网站百度排名优化软件
  • 网站地址搜索深圳网站设计推荐刻
  • 天河网站建设网络推广网站模板源码平台
  • 中国建设教育协会是什么网站徐州公司网站制作
  • 做新房网站怎么弄wordpress注册充值
  • 做网站和做公众号上海网站建设费用多少钱
  • 服务器在国外的网站百度网站评分
  • 高仿做的好点的网站本地网站建设官网
  • 杭州网站制作流程网站建设 流程
  • 商洛市商南县城乡建设局网站代运营的工作内容
  • 哪个网站可以学做蛋糕wordpress post页幻灯片
  • 怎么做自己的网站网站建设和运营
  • 先做网站再付款 怎么回答怎么搭建自己的博客
  • 福州开发企业网站天猫商城网站风格