The value 'null' is not valid null传到后台变成“null”字符串问题
模型
/// <summary>
/// 纬度
/// </summary>
public System.Decimal? Latitude { get; set; }
/// <summary>
/// 经度
/// </summary>
public System.Decimal? Longitude { get; set; }
服务端代码
[HttpPost]
public async Task<BaseOutput<object>> AddUserAddress([FromForm] UserAddressAdd input)
{
return await _userAddressService.AddUserAddress(input);
}
微信小程序及uniapp ,request请求后台时,使用"content-type": "application/x-www-form-urlencoded" 且 post 方式提交数据,则需要注意data数据属性为null传到后台为“null”字符串。
比如:
这么传的结果就是后端直接返回错误
The value 'null' is not valid for Latitude,,The value 'null' isnot valid for Longitude
解决方案
1、服务端【FromForm】修改为【FromBody】 前端使用application/json 首先 JSON.stringify(this.model) 过滤掉里面为undefined的属性
2、前台删除掉null的属性,过滤参数null和undefined
if (data) { for (var key in data) { if (data[key] == null || typeof(data[key]) == "undefined") { delete data[key]; } } }

浙公网安备 33010602011771号