ボタンがあり、クリックすると(html onclick)別のページにリダイレクトされます。JavaScript には、このボタンがクリックされたときにデータベース テーブルに新しい値を書き込む関数があります。私の問題は、データがデータベースに書き込まれる前にリダイレクトが行われるため、新しいページに古い値がまだ残っていることです。これらの手順を逆にする簡単な方法 (リダイレクト、データベースへの書き込み) はありますか? アドバイスありがとうございます
質問する
383 次
4 に答える
1
リダイレクトを ajax 呼び出しのコールバックに移動するだけです。
<a href="#" id="savedata">Save data</a>
<script type="text/javascript">
$(document).ready(function() {
$("#savedata").click(function() {
$.post('/savemydata/', { mydata: 'data' }, function(data) {
window.location.href = '/newpage/'
});
return false;
});
});
</script>
ボタンが実際にフォームを送信する場合は、代わりにボタンを非表示にして、投稿後に次のように追加するだけでボタンをトリガーすることができます。
$("#buttonID").trigger('click');
于 2012-04-11T14:01:37.600 に答える
0
新しいページにリダイレクトするコードを ajax 保存要求のコールバックに移動します。
このようなもの:
$.post('/savemydata/', { my: 'data' }, function(data) {
//the Ajax post has been completed successfully, so now we redirect
window.location.href = '/newpage/'
});
于 2012-04-11T13:47:14.753 に答える
0
ajax を使用してデータを書き込み、次に ajax のコールバックでリダイレクトをスローします。これにより、情報がデータベースに書き込まれるまでリダイレクトが発生しなくなります。コードの一部を確認して、より良い回答を得ることができます。また、ajax を初めて使用する場合は、jQuery を使用することをお勧めします。
于 2012-04-11T13:46:01.260 に答える
0
それは、データベースへの書き込み方法によって異なります。ただし、新しいページをロードするときにサーバーにデータを転送する通常の推奨される方法は、URL パラメータを使用することです。次のようなものを使用する場合
<form action="/next.php" method="POST">
<input type="hidden" name="data" value="values" />
<button type="submit" value="Next Page" />
</form>
また
<a href="/next.php?data=values">Next Page</a>
// also simply usable with
window.location = "/next.php?data=values";
あなたはそれを確信することができます
- データがサーバーに到達し、
- 前に処理 (データベースへの書き込み) できる
- 要求されたページが返されます。
クッキーを使用することもできます。データ値を に書き込むだけで、新しいページを要求するのと同じ要求document.cookie
でサーバーに転送されます。
于 2012-04-11T14:01:23.193 に答える