2017-10-25 7 views
0

ページをリダイレクトまたはリフレッシュせずにポストリクエストを完了することはできますか?ノードjsがリフレッシュせずにリクエストをポスト

ブラウザで簡単なファイルブラウザを作っています。 クライアント側には、サーバーのUSBスティックの内容が表示されます。あなたが知っているように、私はフォルダを開くと、サーバーにパスデータを持つ文字列を送るので、サーバーは私に現在のフォルダの内容を送ることができます。フォルダを開く(クリックする)たびにページがリフレッシュされるのは非常に気になります。何か案は?

+1

これはAJAXと呼ばれています。 –

答えて

1

は基本的に、ユーザーがそのブラウザ上のフォルダを開くたび、それはあなたには、いくつかのデータを取得したい知っているように、サーバーを要求する必要があなたのコード投稿してください。

この操作は非同期で、サーバーが新しいデータを送信するたびにユーザーのブラウザーを更新しないようにしてください。あなたは、クライアントサイドスクリプトで次のような何か実装を開始でき

:次に

function fetchData() { 
    var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     alert(this.responseText); 
     } 
    }; 
    xhttp.open("GET", "api/fetch-folder-content", true); 
    xhttp.send(); 
    } 

を、サーバー(すなわち、フェッチフォルダコンテンツGET経路上のルートを記述する必要があります)あなたのサーバーから新鮮なデータを取得したいときに上記の関数を起動します。

1

フォルダを開いたときに発生するAJAXリクエストを作成した場合、ページは更新されません。このリクエストを処理してコンテンツを返すルートをサーバー上に設定できます。

1

htmlを使用してサーバーにリクエストを送信すると、ブラウザーはpostコマンドへの応答を待つデフォルトの動作に従います。これを異なる方法で扱いたい場合は、AJAXを推奨どおりに使用することをお勧めします。この方法では、ブラウザはページをリロードせず、代わりにサーバーの応答に基づいてコードを実行します。

場合によっては、jqueryのevent.preventDefault()のような通常のイベントブラウザの動作を無効にすることの問題です。あなたの質問が異なる場合

関連する問題