【发布时间】:2021-11-06 07:28:00
【问题描述】:
我想使用 Ajax 从 ASP.NET MVC 中的数据库中获取数据。
这是我的控制器:
public JsonResult EditCustomer(int Id)
{
Customer customer = new Customer();
if (Request.IsAjaxRequest())
{
using (SEntities dc = new SEntities())
{
customer = dc.Customers.Where(a => a.ID == Id).SingleOrDefault();
customer.Events = null;
}
}
return Json(customer, JsonRequestBehavior.AllowGet);
}
这是视图中的 Ajax
var EditCustomer = function (Id) {
$.ajax({
type: "POST",
dataType: "json",
url: '/BasicInfo/EditCustomer',
data: { 'Id': Id },
success: function (data) {
$('#txtFirstName').val(data.FirstName);
$('#txtLastName').val(data.LastName);
$('#txtPhone').val(data.Phone);
$('#txtID').val(data.ID);
$('#hdUserID').val(data.UserId);
$('#txtNote').val(data.ClientNote);
$("#myModalEdit").modal("show");
},
error: function () {
alert('Failed EditCustomer');
}
})
}
虽然来自控制器的变量 customer 已正确填充,但在视图中我只收到错误“Failed EditCustomer”。
什么可能导致这个问题?
【问题讨论】:
-
“来自控制器的客户已正确填充”你是怎么做到的?你检查过浏览器的开发者工具吗?有什么错误?
-
@Serge:我跟踪它,在控制器中我可以跟踪客户变量并填充客户数据,但是当它进入视图时,输入错误函数和警报('失败的 EditCustomer ');弹出
-
你检查浏览器“控制台”了吗?
-
@Serge:如果我在 ajax 的错误部分设置 Console.log(response),我会收到:jquery-2.1.1.js:8623 POST localhost:50869/BasicInfo/EditCustomer500 (Internal Server Error )
-
这通常意味着 EditCustomer 操作内部的错误。试试邮递员。它通常给出最好的错误描述。只删除 Request.IsAjaxRequest
标签: ajax asp.net-mvc