【问题标题】:Retrieve data from controller and return to ajax call failing从控制器检索数据并返回 ajax 调用失败
【发布时间】:2019-12-16 10:32:37
【问题描述】:

我认为有以下 ajax 调用:

var obj = { maintId: id };

$.ajax({
    url:  '@Url.Action("EditLog" ,"Maintenance")',
    type: "GET",
    dataType: "json",
    data: obj,
    async: false,
    success: function (data) {
    alert(data.Reason); 
},
error: function (xhr, status, error) {
        alert(xhr.responseText);
        alert(status);
        alert(error);
    }
});

它很好地点击了 Action (EditLog),但无法将 SystemID 和 Reason 的值返回到 ajax 调用成功数据区域。

请注意,我将从数据库中输入值,但为了测试,我为SystemID 和Reason 输入了硬编码值。当我运行代码时,它会进入错误:函数部分,我得到一个解析器错误。我想知道我是否做错了什么。

[HttpGet]
public ActionResult EditLog(int maintId)
{        
    return Json(new { SystemID = 1233, Reason = "ReagDegree change" });     
}

【问题讨论】:

标签: c# jquery ajax asp.net-mvc-5


【解决方案1】:

您还需要使用JsonRequestBehavior.AllowGet:

return Json(new { SystemID = 1233, Reason = "ReagDegree change" }, JsonRequestBehavior.AllowGet);

JsonRequestBehavior 枚举:

指定是否允许来自客户端的 HTTP GET 请求。

默认设置为Deny get。

https://docs.microsoft.com/en-us/dotnet/api/system.web.mvc.jsonrequestbehavior?view=aspnet-mvc-5.2

【讨论】:

    猜你喜欢
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-07
    • 1970-01-01
    相关资源
    最近更新 更多