我正在使用此 Ajax 代码来删除记录。该代码在本地主机中运行良好,但它不断要求托管服务器上的凭据。
在 Windows 上
根据所有参与者的建议,我现在主要怀疑两件事。
1) 网络托管是一个廉价的机会,尽管经过多次努力,但并未更新应用程序权限(需要联系服务器级别支持)
2) 消息框可能需要一些 token 进行身份验证,例如 this
$(document).ready(function () {
$('.js-delete').on('click', function () {
var button = $(this);
var buttonId = button.attr("data-id");
//var container = $(this).parent().siblings('#tablex').find('#hiddenTable').clone();
var box = bootbox.dialog({
show: false,
message: "Are you sure you want to delete the Record?",
title: "Delete Record?",
buttons: {
cancel: {
label: "Cancel",
className: "btn-default"
},
ok: {
label: "Delete",
className: "confirm btn btn-danger",
callback: function (result) {
if (result) {
$.ajax({
url: "/api/datax/delete/" + button.attr("data-id"),
method: "Delete",
success: function () {
button.parents("tr").remove();
}
});
}
console.log('Button Pressed.');
}
}
}
});
});
});
在我的 Controller 中,我正在像这样处理这个删除调用。
[Route("api/datax/delete/{id}")]
public void Delete(int id)
{
var dataInDb = _context.Datax.SingleOrDefault(c => c.Id == id);
if (dataInDb == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
_context.Datax.Remove(dataInDb);
_context.SaveChanges();
}
最佳答案
如果插入和更新在生产服务器上工作正常,则 Web.config 中不会出现连接字符串问题。
- 在使用生产服务器时,尝试以您在
Web.Config
中使用其凭据的用户身份从数据库日志记录中手动删除记录,并检查天气是否允许。如果不允许,那么您需要在 SQL Server 中授予删除和读/写的权限。
关于jquery - Asp.net Ajax 删除记录在生产服务器上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47410278/