2011-07-27 14 views
0

私は自分のサーバーのディレクトリ構造を示すツリービューを持っています。ユーザーはフォルダ名を入力し、そのフォルダをサーバーのルートディレクトリに作成します。ユーザーに更新ツリーを表示するlocation.reload(true)を使用してajaxを使用してページデータを更新

$.post("makeDir.php", {data:path}); //makeDir.php creates the folder using mkdir() 
location.reload(true); 

イムを次のように私のコードです。問題は総計で、 '投稿'リクエストはまだ完了せず、すぐに新しく作成されたフォルダがツリービューに表示されないようにページを再読み込みします。また、location.reload(true)を使用するのが適切な方法であるかどうかもわかりません。この状況では私は$ .ajax()関数を使用していますか?

答えて

2

このページは、要求が完了した後にのみ再ロードすることを確認します$.post

$.post("makeDir.php", {data:path}, function() { 
    location.reload(true); 
); 
+0

私がlocation.reload(true)を使用すると、ページが点滅します(それは再ロードされます)が、この点滅または「リフレッシュ」効果を回避できる方法はありますか? – samach

+0

多分 '$( 'body').load(location.href + 'body')'のようなものが動作します。サイトの構造によって異なります。 – marc

1

successのparamを使用してください。

$.post("makeDir.php", {data:path},function(){ 
    location.reload(true); 
}); 
1

ページをリロードする場合は、Ajaxを使用しないでください。フォームを送信するだけです。

Ajaxを使用する場合は、ページをリロードしないでください。サーバーに何らかのデータを返させて、コールバック(第3引数:$.post)で処理します(DOMの更新)。

+0

はい、それはうまくなります!ありがとう – samach

関連する問題