2011-02-05 108 views
0

例如,我有一臺計算機作爲服務器。而我有3個客戶端電腦。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"); 
     } 
     } 
    }); 
}); 

它定義了一個對話框,調用您的頁面(GET或POST)並讀取返回的信息。我已經定義了一個JSON答案,但是您使用的是XML或純文本。
第二個選擇是做同樣的每一頁上,但與像一個投票系統,以便您的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

我想要像SO一樣,在我們打開的任何頁面上,都會顯示一些通知。 – klox 2011-02-08 04:42:46

0

由於服務器推送還沒有準備好,所以您希望顯示對話框的頁面需要輪詢服務器以查看數據是否已到達(就像StackOverflow在您進行輪詢時一樣寫一個答案,看看是否已經發布了其他答案)。

你做到這一點與ajax(這是一個鏈接),然後顯示對話框要麼用自己的代碼,或jQuery的使用你喜歡的對話框框插件(推薦)(如jQuery UI)。

+0

有你一些教程來做到這一點? – klox 2011-02-05 07:03:58