2016-04-07 20 views
0

よろしくお願いします。私はページを再読み込みする前に通知を表示しようとしています。私は最初に通知ステートメントを与えてから、再ロードステートメントを与えました。したがって、このロジックによれば、通知が最初に表示され、次にページがリロードされるはずです。しかし、何が起こるかは、ページがリロードされているが、画面に通知が表示されていないことです。再読み込みステートメントを削除すると通知が表示されます。どうしてこんなことに?通知を受け取ってからページをリロードするにはどうすればよいですか?これは私がやったことです:再読み込み前にnotifitを表示しようとしています

success: function(data, text){ 
         jQuery().msgbox_success(data.message); 
         window.location.replace("projection.php"); 
       } 

答えて

0

JavaScriptは非同期です。スクリプトはmsgbox_success()を実行した後に停止せず、window.location.replace()に直接進みます。メッセージには表示する時間がありません。これを処理するカップルの方法があります。

  1. ではなくalert()を使用してください。これにより、JavaScriptが強制的に実行されます。そう、その実行を後でゴマ先送りにされていることをsetTimeout

  2. alert(data.message)ラップwindow.location.replace()setTimeout(function(){ window.location.replace("projection.php"); }, 3000);

個人的に、私は#2を選ぶと思います。

+0

これは機能します。私はここで成功メッセージと共にデータベースに保存したデータを持ってきて、同じテキストボックスにバインドするだけです。ホ、私はそれをすることができますか? –

+0

どういう意味なのか分かりませんが、次のように推測しています: 'jQuery(" input ")val(someData +" "+ data.message);' 'jQuery(" div ")。 + "" + data.message); ' –

+0

私は、データベースに値を保存し、レコードが正常に保存されたことを示すjsonエンコードでメッセージを返します。私の質問は、私は保存されたデータを持って来て、値を送信する場所から同じテキストボックスにバインドすることができますメッセージを返す間です。とった? –

関連する問題