2011-02-05 103 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