.post()
含まれているページをポストバックせずに jQuery のメソッドを使用することについて質問があります。
これは、図書館システムの書籍ページのコードです。ユーザーが [Return book] ボタンをクリックすると、jQuery を使用.post()
してデータベースに返される本を設定します。
<form id="checkoutform">
<input type="submit" id="checkout" class="button" value="Return book" />
</form>
$(document).ready(function(){
$("#checkout").click(function() {
$.post('/transaction/', { book_id: '{{ book.id }}', user_id: username }, function(data) {
alert(data);
});
});
});
データベース トランザクションは検索に機能しますが、ページもポスト バックします。
これ自体は問題ではありませんが、[戻る] ボタンの動作が変わってしまいます。これが問題です。ユーザーが [本を返却] をクリックしてからブラウザの [戻る] ボタンを使用すると、本を返却する前の本のページが表示されるため、本がまだチェックアウトされているように見えます。
次のいずれかの方法がありますか?
- jquery
.post()
メソッドを使用してページをポストバックするのを避け、ページの必要な部分だけを変更するか、または - 前のページに直接戻るように [戻る] ボタンを修正しますか?
ありがとう!