gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 18:42:04 26 4
gpt4 key购买 nike

您好,我有一个 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)
}
}
})
});

这是 Controller 方法:
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);

关于ajax - 使用 Ajax 时,服务器响应状态为 500(内部服务器错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23826641/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com