前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前后端分离null传输问题

前后端分离null传输问题

作者头像
田小檬
发布2023-12-07 13:56:11
3690
发布2023-12-07 13:56:11
举报
文章被收录于专栏:田小檬博客田小檬博客

今天我遇到一个挺有意思的情况,就是前端项目传入null值,结果到了后端就变成了"null "字符串(你能想象吗,后面居然还有个空格)。我花了一段时间试图搞清楚这是怎么回事,最后发现这是因为数据传输时的处理方式有问题。

其实,虽然名字里有JS,但JSON并不是只有JavaScript才能用,而是一种独立于语言的文本格式(跟markdown和XML差不多)。很多编程语言都可以处理JSON,所以它成了不同语言间传递数据的好工具。在实际操作中,前端会把参数转换成JSON字符串。

但你知道吗,数据传输时是不能直接传递对象的,所以实际传递时,要把所有类型的数据都转换成字符串或数字。

等后端收到参数时,其实它也不知道收到的是什么类型的数据,只能按照规定好的参数类型尝试把字符串转换回去。但因为JSON里只有字符串和数字,所以如果传的是null,前端只能把它转换成"null",这就导致后端收到的也是"null",甚至无法区分真正的null和字符串"null"。

这其实不是个问题,而是因为JSON的原理就是这样,数据只能以字符串的形式传递。要解决这个问题,我们可以在前端加入一个拦截器,过滤掉那些空的参数。这样,如果参数是空的,就让它不传过去,后端收到就是实实在在的null了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档