我有一个表与用户,我有一个链接从数据库中删除用户。 有时它可以正常工作,但有时它冻结时,我确认删除,我必须按“Esc”按钮确认窗口消失。 我使用“$(document).on('click',function()”,因为我通过jquery添加用户,如果我使用“$(document).ready(function()”,新添加的用户不会删除。 能否请您查看此脚本错误,并告诉我,如果它的脚本问题还是其他什么东西?可能是有改善它的方法吗?脚本奇怪的行为
脚本
$(document).on('click', function() {
$("a:contains('Delete')").click(function(event) {
if(confirm("Are you sure ?")){
$.ajax({
url: $(event.target).attr("href"),
type: "DELETE",
beforeSend: function(xhr) {
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
},
success: function() {
var tr = $(event.target).closest("tr");
tr.css("background-color","#000000");
tr.fadeIn(1000).fadeOut(200, function(){
tr.remove();})
}
});
} else {
event.preventDefault();
}
event.preventDefault();
});
});
与删除链接
表格单元格<a href="/delete/${user.login}.json">Delete</a>
更新: 我改变了这种方式
脚本
function Delete(event){
if(confirm("Are you sure ?")){
$.ajax({
url: $(event.target).attr("href"),
type: "GET",
beforeSend: function(xhr) {
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
},
success: function() {
var tr = $(event.target).closest("tr");
tr.css("background-color","#000000");
tr.fadeIn(1000).fadeOut(200, function(){
tr.remove();})
}
});
} else {
event.preventDefault();
}
event.preventDefault();
};
链接
<a href="/delete/${user.login}.json" onclick="Delete()">Delete</a>
但现在我卡住我的href
值的URL在空白页上,但用户被删除。
难道你不想检查你的请求是否返回成功结果,然后从表中删除该行? 你必须读取响应,以检查它是否在服务器端的成功过程 – MaveRick
如果你正在向列表中添加新项目,我建议将该函数添加到'onclick'属性,而不是将相同的事件多次附加到元素上每次用户点击页面的任何地方 – MaveRick
它的工作,但现在我得到另一个问题。更新后。 – qiGuar