ユーザーのテーブルがあり、データベースからユーザーを削除するためのリンクがあります。正常に動作することもありますが、削除を確認するとフリーズすることがあり、確認ウィンドウを閉じるには「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>
しかし今、私は自分の値のURLを含む空白のページで立ち往生してhref
いますが、ユーザーは削除されています.