通过 Ajax 将布尔值传递给 asp.net api 控制器
Posted
技术标签:
【中文标题】通过 Ajax 将布尔值传递给 asp.net api 控制器【英文标题】:Passing a boolean value to asp.net api controller via Ajax 【发布时间】:2018-12-18 05:14:59 【问题描述】:我正在尝试通过ajax
将单个boolean
值传递给server API
。
API 操作被击中,但参数(混洗)是 false
,尽管我通过 Ajax
将其设置为 true。
api控制器动作是这样的:
[HttpPost("PostShuffled")]
public IActionResult PostShuffled([FromBody]bool shuffled)
userSession.Shuffled = shuffled;
return Ok();
我的 Ajax 调用是这样的:
function ChangeViewMode(el)
if (el.id == "ViewShuffled")
$.ajax(
url: "/api/Data/PostShuffled",
contentType: "application/json",
method: "POST",
data: JSON.stringify( shuffled: true ),
success: function () alert("ok");
);
我的问题是我做错了什么?
【问题讨论】:
【参考方案1】:好的,我已经通过这种方式解决了问题:
定义了一个新的类:
public class AjaxShuffled
public bool shuffled get; set;
然后在我的控制器中改变了:
[HttpPost("PostShuffled")]
public IActionResult PostShuffled([FromBody]AjaxShuffled s)
userSession.Shuffled = s.shuffled;
return Ok();
现在该值已正确传递。我必须将布尔值封装到一个类中才能使其工作。
【讨论】:
以上是关于通过 Ajax 将布尔值传递给 asp.net api 控制器的主要内容,如果未能解决你的问题,请参考以下文章
C# ASP.net MVC Ajax MySQL DATATABLES 列搜索无法将搜索值传递给控制器
ASP.Net C#MCV - 将值从Ajax Jquery传递给Controller
使用 Jquery Ajax 将数组传递给 asp.net C# 控制器