.net core 前端传递参数有值 后端接收到的数据却是null
  TEZNKK3IfmPf 2024年04月19日 19 0

在做接口测试时,偶然出现了前端输出有值,但是后端断点调试时却出现接收参数总是为null的情况

2、解决办法

前端打印log,看前端的每一个传值的数据类型,与后端请求参数类进行认真的一一比对

小技巧:

① 直接打印调用接口的传参值的数据类型,例如

console.log(type of ) --string

console.log(type of this.form.age) --number

打印的数据类型与后端接口的参数类比对,查出不对应的类型

② 关于非必填的值,默认传值可能出现空字符串(' ')、NaN值(Not a Number,非数;是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值)

此时注意值的转换,比如时间戳的long类型,不传值给个0,传参的时候可以这样写:

this.form.time || 0 即可

默认为short、int、long等值传值为字符串的话,可以使用

1)Number():

全局方法Number()可把字符串转换为数字;

==》包含数字的字符串(比如 "3.14")转换为数字(比如 3.14);

例如:Number("3.14") // 返回 3.14

==》空的字符串转换为 0;

例如:Number("") 或Number("  ") // 返回 0

==》其他字符串将转换为NaN​​。​

例如:Number("11 22")  // 返回 NaN

2)parseFloat():解析字符串并返回浮点数

例如:parseFloat("10.33")  // 返回 10.33

3)parseInt():解析字符串并返回整数

例如:parseInt("10")  // 返回 10

比如后端某个请求参数类型为string,前端传了null

再比如后端某个请求参数类型为long,前端传了''

前端所有传值的类型包括可空字段的赋值必须和后端请求参数类型一一对应即可解决,找了好一会,特此做下记录以帮助也遇到此问题的同学。

3、参考链接

​​JavaScript 类型转换​​

​​JavaScript 全局属性/函数​​

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年04月19日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年04月12日   13   0   0 前端vue
  TEZNKK3IfmPf   2024年04月12日   22   0   0 框架前端
  TEZNKK3IfmPf   2024年04月19日   20   0   0 前端
TEZNKK3IfmPf