2011-02-05 20 views
0

たとえば、私はサーバーとしてコンピュータを持っています。私は3つのクライアントPCを持っています。JQuery:データを送信した後、別のページにダイアログを表示

私はいくつかのデータを入力した後に、送信したデータをダイアログとして表示できます。もちろん、各ユーザーがページを開いた場合、このダイアログは別のページに表示されることがあります。このダイアログの機能は、情報メッセージとして機能します。

私はこれをJQueryを使って行うことができますか?または別のアドバイスがありますか?これは可能ですか?

答えて

1

はい、できます。

$(document).ready(function() { 

    $('#myDialog').dialog({ 
     autoOpen: false 
    }); 

    $.ajax({ 
     type: 'GET', 
     url: 'webpage_to_check', 
     data: { }, 
     dataType: 'json', 
     beforeSend: function(XMLHttpRequest) { 
     // You can do something before posting data. 
     }, 
     complete: function(XMLHttpRequest, textStatus) { 
     var Response = $.parseJSON(XMLHttpRequest.responseText); 
     if ((XMLHttpRequest.responseText == 'false') || (Response.Status == false)) { 
      // FAIL 
     } 
     else { 
      // SUCCESS 
      $('#myDialog').dialog("open"); 
     } 
     } 
    }); 
}); 

ダイアログを定義するaは、あなたのページ(GETまたはPOST)を呼び出し、返された情報を読み取ることができます。私はJSONの答えを定義しましたが、XMLまたは純粋なテキストを使用します。
2番目のオプションは、各ページではなく、あなたのjavascriptのチェックので、ポーリング方式のようなものX秒ごとに同じことを行うことです。

$(document).ready(function() { 

    $('#myDialog').dialog({ 
     autoOpen: false 
    }); 


    function ScheduledAction(func, times, interval) { 
     var ID = setInterval(function() { 
      if (times > -1) { 
       if (--times <= 0) { 
        clearInterval(ID); 
       } 
      } 
      func(); 
     }, interval); 
    } 

    function CheckStatus() 
    { 
    $.ajax({ 
     type: 'GET', 
     url: 'webpage_to_check', 
     data: { }, 
     dataType: 'json', 
     beforeSend: function(XMLHttpRequest) { 
     // You can do something before posting data. 
     }, 
     complete: function(XMLHttpRequest, textStatus) { 
     var Response = $.parseJSON(XMLHttpRequest.responseText); 
     if ((XMLHttpRequest.responseText == 'false') || (Response.Status == false)) { 
      // FAIL 
     } 
     else { 
      // SUCCESS 
      $('#myDialog').dialog("open"); 
     } 
     } 
    }); 
    } 

    ScheduledAction(CheckStatus, -1, 30); 

}); 
+0

私はそうしたかったので、私たちが開いているページで、何らかの通知が表示されます。 – klox

+0

私は本当にあなたが意味するものを得ていないと思う。定期的にチェックをスケジュールする必要がない場合は、最初のスクリプトを使用する必要があります。これは、ページが読み込まれるたびにトリガーされます。 – LeftyX

0

server-pushはまだウェブに対応していないので、ダイアログボックスを表示するページでは、サーバーがポーリングされてデータが到着したかどうかを確認する必要があります他の回答が掲載されているかどうかを確認するための回答を書く)。

あなたは(例えばjQuery UIなど)jQueryのためのあなたのお気に入りのダイアログボックスのプラグインを使用して(推奨)、その後ajax(つまり、リンクです)、とのいずれかで、独自のコードでダイアログボックスを表示することを行う、または。

+0

はこれを行うにはあなたにいくつかのチュートリアルがありますか? – klox

関連する問題