【问题标题】:Why I took 500 Internal Server Error when using ajax get method?为什么我在使用 ajax get 方法时出现 500 Internal Server Error?
【发布时间】:2014-10-23 08:03:05
【问题描述】:

我尝试使用 Ajax 获取方法,但出现 500 内部服务器错误。我正在使用以下内容:

Cronom.Server.Connect = window.Cronom.Server.Connect || {};

(function (connect) {
    connect.AjajGet = function (getUrl, successFunc) {
        debugger;
        $.ajax(getUrl, {
            type: "GET",
            contentType: 'application/json; charset=utf-8',
            success: successFunc
        });
    };
})(Cronom.Server.Connect || {});

我在页面中调用这个函数:

var list = Cronom.Server.Connect.AjajGet('/Home/GetFirstData', function(data) {
    console.log(data);
});

服务器动作有一个 [HttpGet] 属性。我的错在哪里?

【问题讨论】:

  • 错误是在GetFirstData() 方法中生成的——可能在某处抛出异常,但你还没有发布,所以不可能告诉
  • 我解决了这个问题。我的错误是我不使用 JsonRequestBehavior。 old: return Json(new {statu = true, result});新:code return Json(new {statu = true, result}, JsonRequestBehavior.AllowGet);
  • 你为什么声称contentType: 'application/json; charset=utf-8',?您正在发出 GET 请求。没有描述内容类型的请求正文!

标签: javascript jquery ajax asp.net-mvc-4 javascript-namespaces


【解决方案1】:

我解决了这个问题。我的错误是我不使用 JsonRequestBehavior。

旧:

return Json(new {statu = true, result});

新:

return Json(new {statu = true, result}, JsonRequestBehavior.AllowGet);

【讨论】:

    猜你喜欢
    • 2018-10-25
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    • 2022-12-08
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 2013-01-08
    相关资源
    最近更新 更多