我无法在mvc核心中使用ajax post作为Json Formatting从动作中获取对象

时间:2016-12-18 17:31:08

标签: json ajax asp.net-core-mvc

 $(document).on("click", "#StudentDelete", function () {
        var Id = $(this).attr("data-id");
        alert(gelenId);
        $.ajax({
            url: '/SchoolRepo/DeleteStudent/' + Id,
            type: "POST",
            datatype: "Json",
            success: function (response) {
                if (response.Success) {
                    location.reload();
                    alert(response.Message);
                }
                else {
                    alert(response.Message);
                }
            }
        });

    });
public class ResultJson
{
    public bool Success { get; set; }
    public string Message { get; set; }
}
 public IActionResult DeleteStudent(int id)
    {
        var student = db.Students.FirstOrDefault(q => q.Id == id);
        if (student!=null)
        {
            db.Students.Remove(student);
            db.SaveChanges();
            return Json(new  ResultJson { Message = "Student is deleted successfully", Success=true });
        }
        return Json(new ResultJson { Message = "Student is not deleted", Success = false });
    }

当我使用这些代码时,我无法获得'Response.Message'或'Response.Success'值。总是返回'undefined'。当我在mvc 5中使用相同的代码时,我可以得到值。是什么原因 ?提前谢谢你

1 个答案:

答案 0 :(得分:0)

ASP.NET Core MVC中的JSON结果在序列化结果时默认使用驼峰式命名策略。因此结果将返回,如下所示。

  

{“success”:true,“message”:“学生已成功删除”}

您可以 response.success response.message

访问结果

我希望这对你有所帮助。

https://github.com/aspnet/Mvc/blob/760c8f38678118734399c58c2dac981ea6e47046/src/Microsoft.AspNetCore.Mvc.Formatters.Json/JsonSerializerSettingsProvider.cs