AJAX呼び出しが成功した後、リダイレクト/リロードで問題が発生します。状況は次のとおりです。
削除するアイテムを配列に保存しています。ボタンをクリックすると、PHPファイルがajax経由で呼び出されます。成功した後、ページをリロードする必要があります。しかし、これを行うにはいくつかの問題があります。実用的なソリューション。
私はPHPファイルをデータベースからアイテムごとに削除する配列を通過します。
foreach($arrayVals as $key=>$val)
{
//bla bla
}
また、jQueryの部分があります。
$("#button").live("click",function(){
$.ajax({
url, data, type... not important
success: function(html){
location.reload();
}
});
});
つまり、コードは機能しますが、良くありません。アイテムは削除されますが、すべてのアイテムが削除されるわけではないため、ページがリロードされます。たとえば、削除するアイテムが10個ある場合、6〜7個、3〜4個のアイテムが削除されないままになります。
PHPファイルにはすべてを処理するのに十分な時間がありません:D
BrixenDKは正しい。
すべてのajax呼び出しが完了したときに実行される.ajaxStop()
コールバック。これは、ハンドラーを配置するのに最適な場所です。
$(document).ajaxStop(function(){
window.location.reload();
});
Ajaxが完了したら、ajaxStopを使用してコードを実行します。
$(document).ajaxStop(function(){
setTimeout("window.location = 'otherpage.html'",100);
});
これを使用してください ページの再読み込み
success: function(data){
if(data.success == true){ // if true (1)
setTimeout(function(){// wait for 5 secs(2)
location.reload(); // then reload the page.(3)
}, 5000);
}
}