我想要做的是将 JSON 对象传递给 WebAPI ajax 调用并映射到服务器端的强类型对象。字符串值被完美地发布,但是当涉及到布尔值时,它们根本没有被传递。下面是我的代码:
var gsGasolineField = $('.gsGasoline').val();
blData = { Gasoline: gsGasolineField };
var json = JSON.stringify(blData);
$.ajax({
type: "POST",
url: url,
data: json,
contentType: "application/json",
dataType: "json",
statusCode: {
201 /*Created"*/: function (data) {
$("#BusinessLayerDialog").dialog("close");
ClearForm("#BusinessLayerForm");
},
400: /*Bad request - validation error*/ function (data) {
$("#BusinessLayerForm").validate().form();
},
500: function (data) {
alert('err');
}
},
beforeSend: setHeader
});
Gasoline 属性在服务器端是布尔类型。
编辑:
如上所述,Gasoline 是布尔值,作为 MVC,我的 HTML 标记如下
<div style="float: left">@Html.CheckBoxFor(x => x.GasStation.Gasoline, new { @class = "gsGasoline" })</div>
所以我只是把这个复选框的值传递给 JSON 对象
编辑
也试过直接发送true
blData = { Gasoline: true };
还是假服务器端!