code_junkie

Prototype Ajax.PeriodicalUpdater inserts empty string when server unreachable

Nov 13th, 2011
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. var updater = new Ajax.PeriodicalUpdater('content', '/Doc?'+d.getTime(),
  2. {
  3. method: 'post',
  4. frequency: 5,
  5. });
  6.  
  7. new Ajax.PeriodicalUpdater({success: 'content'}, '/Doc?'+d.getTime(),
  8. {
  9. method: 'post',
  10. frequency: 5,
  11. });
  12.  
  13. function requestMoreInfo(){
  14. new Ajax.Request('url',
  15. {
  16. method:'get',
  17. parameters: "someget=here",
  18. onSuccess: handleTheReturn
  19. });
  20.  
  21. }
  22.  
  23. function handleTheReturn(reply){
  24. var newMessages = eval('(' + reply.responseText + ')');
  25. //update your element or whatever
  26. }
  27.  
  28. new PeriodicalExecuter(requestMoreInfo, 20);
  29.  
  30. <html>
  31. <head>
  32. <title></title>
  33. <script type="text/javascript" src="/Prototype"></script>
  34. <script type="text/javascript">
  35. var css;
  36. var css_data;
  37.  
  38. function load_content()
  39. {
  40. var d = new Date();
  41.  
  42. css = document.createElement('style');
  43. css.setAttribute('type', 'text/css');
  44. if(css.styleSheet) { css.styleSheet.cssText = '';} //Because IE is evil
  45. else { css_data = document.createTextNode(''); css.appendChild(css_data); } //And everyone else is cool
  46. document.getElementsByTagName("head")[0].appendChild(css);
  47.  
  48. var updater = new Ajax.PeriodicalUpdater({success: 'content'}, '/%doc_path%?'+d.getTime(),
  49. {
  50. method: 'post',
  51. frequency: 5,
  52. onSuccess: function(transport) {
  53. new Ajax.Request('/%css_path%?'+d.getTime(), {
  54. method: 'post',
  55. onSuccess: function(transport) {
  56. if(css.styleSheet) { css.styleSheet.cssText = transport.responseText}
  57. else {
  58. var new_css_data = document.createTextNode(transport.responseText);
  59. css.replaceChild(new_css_data, css_data);
  60. css_data = new_css_data;
  61. }
  62. }
  63. });
  64. new Ajax.Request('/%title_path%?'+d.getTime(), {
  65. method: 'post',
  66. onSuccess: function(transport) {
  67. document.title = transport.responseText;
  68. }
  69. });
  70. }
  71. });
  72. }
  73.  
  74. </script>
  75.  
  76. </head>
  77.  
  78. <body>
  79. <div id="content"></div>
  80.  
  81. <script type="text/javascript">
  82. load_content();
  83. </script>
  84.  
  85. </body>
  86. </html>
  87.  
  88. new Ajax.PeriodicalUpdater('content', 'url', {
  89. frequency: 5,
  90. on0: function(requester, exception) {
  91. alert("ERROR 0");
  92. }
  93. });
Add Comment
Please, Sign In to add comment