ajax post在webapi中传递null参数
ajax post passes null parameter in webapi
这是一个以前出现过的问题,通常的答案似乎是:
- 将[FromBody]添加到参数
- 在帖子中添加application/json的内容类型
但这两者都无济于事。
当ajax帖子发生时,它会点击webapi操作,但参数为空
我有以下服务器端代码
[HttpPost]
[Route("SafeFloatTopUp")]
public void SafeFloatTopUp([FromBody] SafeFloatDenomination d )
{
//d is null
}
public class SafeFloatDenomination
{
public SafeFloatDenomination();
public string Denomination { get; set; }
public decimal Value { get; set; }
}
这是从以下客户端代码调用的:
var d = { Denomination: "1p", Value: 2 };
bankingApi.client.topUp(d);
var topUp = function (denomination) {
$.ajax({
url: '/portalframework/BackOffice/Banking/Banking/SafeFloatTopup',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: denomination
});
};
找到以下stackoverflow问题的答案
我需要使用
JSON.stringify(denomination)
您不需要指定内容类型-默认的内容类型为'application/x-www-form-urlencoded;charset=UTF-8'将处理javascript对象,而无需将其转换为字符串:
$.ajax({
url: '/portalframework/BackOffice/Banking/Banking/SafeFloatTopup',
type: 'POST',
data: denomination
});
相关文章:
- 从JavaScript调用JAX-WSWeb服务时参数为Null
- ajax post在webapi中传递null参数
- Javascript-函数获取数组元素参数未定义/为null
- Ajax调用后控制器中的参数为Null
- 未能构造'Blob':提供的第一个参数为null,或者是无效的Array对象
- 当 JSON.stringify 时,ASP.NET MVC 控制器参数的 JSON 为 null
- fn.apply 与第一个参数 null 或未定义
- Function.prototype.bind with null 作为参数
- JavaScript null 参数使正则表达式匹配
- 在匿名回调中使用函数参数将返回 null/NaN
- Web API 控制器操作参数始终为 null
- javascript 返回 null 或 None 如果参数没有给函数
- 尝试将 Blob 传递给 C# 控制器时的 null 参数
- 使用AngularJS传递参数时,Resteasy@FormParam为null
- 为什么当中间参数为'null'
- Coffeescription出现奇怪问题-文本参数发送为null
- Angular$http发布到MVC操作,参数为null
- jQuery数据表-ASP.NET控制器参数始终为null
- MVC[HttpPost]方法接收null参数
- Array.prototype.slice.call(arguments)和Array的区别.应用(null,参数)