Ajax函数不更新数据。引导对话框中的数据加载,我需要通过更改来更新数据。我还要在浏览器中检查该值是否来自对话框,而不是发布到数据库中。
客户端:
$("#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);
}
});
});
附带说明:不要在您的DB语句中进行SQL注入...请改用参数以避免可能的安全漏洞。更多信息@ https://stackoverflow.com/a/6548006/2805121
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句