ボタンがあり、これが AJAX 経由でイベントを呼び出すようにします。このイベントはDBレコードを削除するためのものなので、値/行を削除せずにコンテンツを更新したい. コードを .ajax 呼び出しの成功に入れるべきだと思いますが、コンテンツを更新する方法に疑問がありますか? 値/行を削除せずに新しいコンテンツを取得するには、2 回目の AJAX 呼び出しが必要ですか?
前もって感謝します
ajaxを使用している場合、なぜページを更新するのですか?ページの更新を避けるためにajaxを使用しています。それでも必要な場合window.location.reload();
は、ajax.success()関数に関数を追加してみてください。http://www.amitpatil.me/ajax-table-adding-removing-rows-dynamically-using-javascript-animation/の例を次に示します。
同じ通話で使用できます。ajax呼び出しが指しているDELETE
スクリプトでは、クエリを追加して、を使用してデータを送り返しますjson_encode()
。次に、ページの特定の領域を更新するだけです。
または、怠惰になりたい場合は、ajax から成功が返された後、次のようにします。
window.location.reload();
これにより、ページが更新されます。
レコードの削除に AJAX を使用する場合、すべてのページ コンテンツをリロードする必要はありません (これが AJAX の目標です)。この場合、JavaScript DOM 要素を削除してコンテンツを変更する必要があります。
いくつかのIDを持つAJAXでいくつかのレコードを削除すると、次のようなことを実行します:
$("#deleteBtn").click(function() {
// detect ID of the record (var id = ...)
// call AJAX with post(...) or ajax(...)
$("#id" + id).remove();
});
または、セキュリティを強化するために AJAX の結果に対してremove()関数を実行し、サーバー側のスクリプトが実際に DB からレコードを削除した場合にのみ削除することをお勧めします。
私の例では、行 (または他の HTML 要素) のid属性を使用して、将来 $("#id" + id) を介してアクセスできるようにレコードの id を格納することを前提としています。レコード ID で DOM 要素を検索するには、いくつかのエントリ ポイントが必要です。
私が見ているように、これを行う方法は誰にもあります。
1: データベース行からの一意の ID を使用してコンテナー内の行をラップし、その ID を使用して、ページから削除したばかりの行を削除/非表示にします。
2: あなたが言及したように、データを再度取得して印刷することはできますが、これはパフォーマンス面であまり効率的ではありません。
/よろしく