javascript - jQuery POST 中的 bool 值到 MVC5 Controller

标签 javascript jquery asp.net-mvc asp.net-mvc-5

我正在使用 jQuery 将一些数据发送到 MVC 5 Controller 上的 ActionMethod。当其中一个参数为 true 时,一切正常,但当它为 false 时,我会得到 404。

这工作正常(HTTP 200)

var data =  { userId: userId, approve: true, reason: 'Unaccepted'};
$.post('approve-user', data, function (response) {
...

这会导致 404

var data =  { userId: userId, approve: false, reason: 'Unaccepted'};
$.post('approve-user', data, function (response) {
...

我的操作方法具有以下签名:

[POST("approve-user")]
public async Task<JsonResult> ApproveOrRejectPost(int userId, bool approve, string reason) {

我认为将 JS bool 值转换为 .NET 可以理解的东西可能会有一个怪癖,但如果我在方法签名中使用字符串,也会发生同样的情况。导致它失败的唯一原因似乎是中间的 bool 变量。

最佳答案

我认为 bool 的位置可能会导致问题,我不确定,但我可以建议您快速修复,因为 ts 显示 404 错误,这意味着当 bool 值为 false 时无法找到您的操作

在你的行动中尝试这个

public async Task<JsonResult> ApproveOrRejectPost(int userId, bool approve = false, string reason) { 

即使也尝试交换客户端和服务器端的参数 并检查结果

public async Task<JsonResult> ApproveOrRejectPost(int userId, string reason, bool approve) { 

关于javascript - jQuery POST 中的 bool 值到 MVC5 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45461666/

相关文章:

javascript - 使用 Javascript 更改 HTML 输入字段的数量

javascript - 如何使用下拉菜单中的地点库在 Google map 上显示标记?

javascript - Cordova Instagram 插件 : using with JPG images?

javascript - 将 Google 日历作为 iframe 嵌入到 React 应用程序中?

jquery - $elem..style.display 总是返回空字符串

asp.net - 解决 Windows Server 2016 上 ASP.NET 的 403.14 错误

jquery - 使用 jquery 检测元素溢出

javascript - Div 显示隐藏选择

html - 在 Html.ActionLink 中添加图像

c# - 拥有信用卡模型安全吗?