サーバーサイドのデータテーブルからエントリを削除するdelete関数があります。意図は、チェックボックスを介していくつかの項目を選択して削除を押すと、私の関数が呼び出されたときに読み込み画面が表示されます。アイテムの量が適切に削除されると、読み込みが消えてしまいます。Ajax関数の読み込み中止画面
しかし、現時点では、すべてのアイテムが適切に削除されると、読み込み画面は消えません。私は誰かが私がこれで間違っているのを見ることができることを望んでいる。
のAjaxコード
function deleteDocumentPrepare(){
var delCounter = 0;
if(checked!==null){
$('.loading').show();
$.each(checked, function(key, value) {
// console.log(checked.length);
deleteDocument(value,delCounter,checked.length);
delCounter++;
// console.log(delCounter);
});
}
}
function deleteDocument(input,current,total){
// console.log("current:"+current);
// console.log("total:"+total);
var id = input;
$.ajax({
method: "POST",
url: "<?php echo site_url('/Common/Check'); ?>",
success: function(data){
if("<?php echo $this->data['controller'];?>"=="Support"){
var url = '<?php echo site_url('Admin'.$this->data['controller'].'/Agent/Delete/'); ?>';
}else{
var url = '<?php echo site_url('Admin'.$this->data['controller'].'/Delete/'); ?>';
}
if(data==true){
$.ajax({
type:'POST',
url:url,
data:'id='+id,
beforeSend: function() {
// $('.loading').show();
},
success:function(result){
if(current==total){
// console.log("END");
$('.loading').fadeOut("slow");
checked=[];
table.draw();
}
}
});
}else{
window.location.href="<?php echo site_url('/');?>";
}
}
});
}
でなければなりません。ローディング画面はどこに隠していますか?そのコード行に達していますか?そうでない場合は、どうしてですか?ブラウザのデバッガを使用して手順を進めると、動作は期待どおりに異なりますか? – David
ajax機能が完了すると、読み込み画面は表示されません。それは期待される動作です – JianYA
そして、*あなたがデバッグするとき*、どこが失敗するのですか? – David