2011-06-27 3 views
5

私はPHP関数の値の$。postをしてjquery関数を持っています。このPHP関数はこの値を$ _SESSIONに入れ、適切な内容を表示します。

$ .postの後にコンテンツが表示され、新しい$ _SESSION値が次回の更新まで有効にならないので、投稿が完了するまで実行が継続されないようにしたいと思います。

どうすればいいですか?

ありがとうございます!

+1

リクエストの送信中にJavaScriptまたはPHPを一時停止しますか? – matzahboy

+0

window.locationを使ってページをリロードできませんでしたか? – Alfred

答えて

0

あなたが達成したいことを達成するために必要以上に複雑なコードを作っているように見えます。

サーバー(PHP)がページのロード中にページのレンダリングを終了するのに必要なデータがクライアント(javascript)にある場合、クライアント(javascript)はサーバーからそのデータを取得している必要があります想像する。サーバー(PHP)がページのレンダリングを開始する前に必要なデータを持っていたら、レンダリングする前にセッション変数自体を設定しておく必要があります。

このシナリオはあまり意味がないようです。ページがロード中にajaxを使用してサーバーに送信しているこのデータは何ですか?ページの読み込み中にユーザー入力を取得していますが、ページのレンダリングを完了するためにサーバーに戻す必要がありますか?コードは見えますか?

1

これはコールバックの対象です。 $.post()パラメータの一つに関数を渡し、その要求が成功した場合にのみ実行されます:このコードは、AJAXリクエストのロードが終了した後にのみalert()一部を実行する

$.post("test.php", function(data) { 
    alert("Data Loaded: " + data); 
}); 

document.write('This won`t wait for ajax'); 

が、document.write()がすぐに実行され、応答を待たずに

関連する問題