问题:
今天和前端进行接口联调,前端传来的参数如下:
![](https://img-blog.csdnimg.cn/178a469389ba4b7cbd90a436f4005ad5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b285bK4LeiKseW3suW8gA==,size_17,color_FFFFFF,t_70,g_se,x_16)
trSpeBadWeatherAttention: {linkId: "S32", badWeatherType: "0", simulationData: 1}
后端代码:
![](https://img-blog.csdnimg.cn/4948ed1a07e84f0b8078a0cedde38d5a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b285bK4LeiKseW3suW8gA==,size_20,color_FFFFFF,t_70,g_se,x_16)
前端进行调用时发现后端对应的对象属性没有获取到前端传来的数据。
排查过程:
误区一:以为是Json字符串传递有问题.
![](https://img-blog.csdnimg.cn/375b093c3fd74baeb1b412b837c79af5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b285bK4LeiKseW3suW8gA==,size_20,color_FFFFFF,t_70,g_se,x_16)
让前端将传递参数都加上双引号,不过从浏览器上看参数还是一样,估计浏览器会去除相应的双引号。没有解决问题,后来前端将双引号转义,浏览器正常显示json字符串了,不过还是无法获取数据,没有解决。
我这么写 浏览器还是解析成这样:
![](https://img-blog.csdnimg.cn/f95a514dff254e6a9f00018bf8c40555.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b285bK4LeiKseW3suW8gA==,size_18,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/b54f5c8a9274433f8afbad9b6a3066ff.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b285bK4LeiKseW3suW8gA==,size_20,color_FFFFFF,t_70,g_se,x_16)
转义后还是一样。
![](https://img-blog.csdnimg.cn/d78210d61ef44f6e845115882fe5f24c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b285bK4LeiKseW3suW8gA==,size_20,color_FFFFFF,t_70,g_se,x_16)
请求成功了 但是返回第一天还是0 啊 状态没改过来,还是没有获取对象属性数据。
误区二:以为不是POST提交
经确认就是post提交参数
![](https://img-blog.csdnimg.cn/863cd7a8b7fa4e9dbcc00d6121f1e8c0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b285bK4LeiKseW3suW8gA==,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/da62d53b0d3e4c8b9e020259b0fddcc8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b285bK4LeiKseW3suW8gA==,size_20,color_FFFFFF,t_70,g_se,x_16)
原因:
最终确认原因后是前端将参数额外包了一层,导致我后端无法正常接收参数属性。
![](https://img-blog.csdnimg.cn/1d766fe6c75347c0a2bfac39e929a598.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5b285bK4LeiKseW3suW8gA==,size_15,color_FFFFFF,t_70,g_se,x_16)
让前端把上图中的画框框的部分去了,最终问题得到解决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)