Ajaxfunction不起作用

在此处输入图像描述 Ajax函数不更新数据。 在bootstrap对话框中的数据加载,我需要更改数据更改。我也检查浏览器的值是来自对话框但不是在数据库中发布..如何解决..提前谢谢

客户端:

$("#UpdateTbl").click(function () { var id = $(this).attr("edit-id"); var user = {}; debugger; user.DayDesc = $("#DaybookDesc1").val(); user.VoucherNo = $("#Prifix1").val(); user.VoucherNo1 = $("#Surffix1").val(); $.ajax({ type: "Post", contentType: "application/json; charset=utf-8", url: "DaybookMast.aspx/UpdateData", data:JSON.stringify( '{objEmployee: ' + JSON.stringify(user) + ', eid : ' + id + '}'), dataType: "json", success: function (data) { if (confirm("Are you want to change !") == true) { alert("Updated successfully"); } else { alert("canceled changes"); } }, error: function (data) { alert("Error while Updating data of :" + id); } }); }); 

服务器端:

 [WebMethod] public static void UpdateData(DayBooks objEmployee, string eid) //Update data in database { using (var con = new SqlConnection(strConnection)) { var query = "update DayBooks set DayDesc='" + objEmployee.DayDesc + "',VoucherNo='" + objEmployee.VoucherNo + "',VoucherNo1='" + objEmployee.VoucherNo1 + "'where DayCode='" + eid + "'"; con.Open(); var cmd = new SqlCommand(query, con); cmd.ExecuteNonQuery(); con.Close(); } } 

我认为你应该发布你的数据而不用字符串化你的JSON:

 $("#UpdateTbl").click(function () { var id = $(this).attr("edit-id"); var user = {}; debugger; user.DayDesc = $("#DaybookDesc1").val(); user.VoucherNo = $("#Prifix1").val(); user.VoucherNo1 = $("#Surffix1").val(); $.ajax({ type: "Post", contentType: "application/json; charset=utf-8", url: "DaybookMast.aspx/UpdateData", data: {"objEmployee": user, "eid": id}, dataType: "json", success: function (data) { if (confirm("Are you want to change !") == true) { alert("Updated successfully"); } else { alert("canceled changes"); } }, error: function (data) { alert("Error while Updating data of :" + id); } }); }); 

另请注意:不要在数据库语句中执行SQL注入…而是使用参数来避免可能的安全漏洞。 更多信息@ https://stackoverflow.com/a/6548006/2805121

首先,你有什么错误信息?

在测试Ajax和C#更新function之间的通信之前,您需要测试连接是否是function性的。

 public static void UpdateData(DayBooks objEmployee, string eid) //Update data in database { using (var con = new SqlConnection(strConnection)) { var query = "UPDATE DayBooks set DayDesc=12345,VoucherNo=54321,VoucherNo1=1 where DayCode=12"; con.Open(); var cmd = new SqlCommand(query, con); cmd.ExecuteNonQuery(); con.Close(); } } 

如果更新表成功,请检查您的表是否已更新。 您需要调试Ajax数据请求。

感谢@Nsevens代码:

 $("#UpdateTbl").click(function () { var id = $(this).attr("edit-id"); <- what's value of id var user = {}; debugger; user.DayDesc = $("#DaybookDesc1").val(); <- what's value of user.DayDesc user.VoucherNo = $("#Prifix1").val(); <- what's value of user.VoucherNo user.VoucherNo1 = $("#Surffix1").val(); <- what's value of user.VoucherNo1 $.ajax({ type: "Post", contentType: "application/json; charset=utf-8", url: "DaybookMast.aspx/UpdateData", data: {"objEmployee": user, "eid": id}, <- what's value of data dataType: "json", success: function (data) { if (confirm("Are you want to change !") == true) { alert("Updated successfully"); } else { alert("canceled changes"); } }, error: function (data) { alert("Error while Updating data of :" + id); } }); }); 

使用console.log进行调试:

console.log(“userArray:”+ user);

它可能会有所帮助,当您遇到类似问题时,检查您发送的数据非常重要。