加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Ajax时,服务器响应状态为500(内部服务器错误)

发布时间:2020-12-16 02:52:51 所属栏目:百科 来源:网络整理
导读:你好我有一个ajax调用: $.ajax({ url: "/Orders/CheckIfExists",type: "GET",contentType: "application/json; charset=utf-8",data: { catalogNumber: viewModel.catalogNumber,quantity: viewModel.quantity },error: function (data) { alert("wyst?pi?
你好我有一个ajax调用:

$.ajax({
        url: "/Orders/CheckIfExists",type: "GET",contentType: "application/json; charset=utf-8",data: {
            catalogNumber: viewModel.catalogNumber,quantity: viewModel.quantity
        },error: function (data) {
            alert("wyst?pi? nieokre?lony b??d " + data);
        },success: function (data) {
            if(data.ok)
            {
                alert(data.quantity)
            }
        }
    })
});

这是控制器方法:

public JsonResult CheckIfExists(string catalogNumber,int quantity)
    {
        List<Expression<Func<DeviceInstance,bool>>> where = new List<Expression<Func<DeviceInstance,bool>>>();
        where.Add(w=>w.DeviceUsage.UserId==1);
        where.Add(w => w.Project == null);
        where.Add(w => w.Device.CatalogNo == catalogNumber);
        var result = unitOfWork.deviceInstanceRepository.Get(where)
          .GroupBy(w => new
          {
              DeviceId = w.DeviceId,CatalogName = w.Device.CatalogNo,})
          .Select(s => new
          {
              Quantity = s.Sum(x => x.Quantity),}).First();
        if (result.Quantity >= quantity)
        {
            return Json(new { ok = true,quantity = result.Quantity});

        }
        return Json(new { ok = false });
    }

但我总是得到内部500错误.
通过方法接收数据,所有计算都可以.我在例子中编写了返回JSON.
我犯了哪个错误?

解决方法

默认情况下,ASP.NET MVC拒绝ajax GET请求,您必须通过将 JsonRequestBehavior明确设置为AllowGet来允许它:

return Json(new { ok = true,quantity = result.Quantity},JsonRequestBehavior.AllowGet);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读