ajax - 通过 Ajax 将布尔值传递给 asp.net api 控制器
问题描述
我正在尝试将单个boolean
值传递ajax
给 a server API
。API 操作被击中,但参数(随机播放)是false
,尽管我通过Ajax
.
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"); }
});
}
}
我的问题是我做错了什么?
解决方案
好的,我已经通过这种方式解决了问题:
定义了一个新类:
public class AjaxShuffled
{
public bool shuffled { get; set; }
}
然后在我的控制器中更改:
[HttpPost("PostShuffled")]
public IActionResult PostShuffled([FromBody]AjaxShuffled s)
{
userSession.Shuffled = s.shuffled;
return Ok();
}
现在该值已正确传递。我必须将布尔值封装到一个类中才能使其工作。
推荐阅读
- javascript - 相对于另一个输入框更改输入框的值?
- javascript - 无法成功在数组中动态创建多个 json 对象
- docker - 在 Kubernetes pod 中访问 Docker 映像中的文件?
- skiasharp - 将图像转换为真正的黑白
- regex - 如何使用正则表达式和记事本++将逗号插入文本文件中的多个列?
- c++ - 如何使用 MingW64 从我的 c++ 项目执行对 mysql 的查询
- github - 从 GitHub Enterprise SSO 策略中排除 GitHub 组织
- android - 将意图放入 sharedPreferences 返回“”
- javascript - React native snap carousel Image在ios中显示为白色,但android很好如何解决?
- api - Windows 身份验证 - 邮递员(HttpContext 名称为空)