【问题标题】:Passing a boolean value to asp.net api controller via Ajax通过 Ajax 将布尔值传递给 asp.net api 控制器
【发布时间】: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"); }
        });
    }
}

我的问题是我做错了什么?

【问题讨论】:

    标签: ajax asp.net-apicontroller


    【解决方案1】:

    好的,我已经通过这种方式解决了问题:

    定义了一个新的类:

     public class AjaxShuffled
        {
            public bool shuffled { get; set; }
        }
    

    然后在我的控制器中改变了:

    [HttpPost("PostShuffled")]
        public IActionResult PostShuffled([FromBody]AjaxShuffled s)
        {
            userSession.Shuffled = s.shuffled;
            return Ok();
        }
    

    现在该值已正确传递。我必须将布尔值封装到一个类中才能使其工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-12
      • 2016-11-08
      • 2019-07-16
      • 2014-02-10
      • 2015-08-13
      • 1970-01-01
      相关资源
      最近更新 更多