Tip: Click lines to highlight, hold ctrl/cmd to multi-select

polling example (28-Jan @ 13:22)

brentg

Syntax Highlighted Code

  1. google.load("jquery", "1");
  2.  
  3. google.setOnLoadCallback(
  4.     function() {
  5.         $(document).ready(function() { T.poll(); });
  6.     }
  7. );
  8.  
  9.  
  10. var T = {  };
  11.  
  12. T.poll = function () {
  13.     var args = {};
  14.  
  15.     $.ajax({
  16.                url: "/updates",
  17.                type: "POST",
  18.                dataType: "json",
  19.                data: $.param(args),
  20.                success: T.new_tweets
  21.            });
  22. };
  23.  
  24. T.new_tweets = function(response) {
  25.  
  26.  
  27.     // die!
  28.     $('.top, .bottom').remove();
  29.  
  30.     var wrapper = document.getElementById('wrapper');
  31.     wrapper.innerHTML = "<div id='header'></div>";
  32.  
  33.     for (var i = 0; i < response.stats.length; ++i) {
  34.         var classname = "bottom";
  35.         if (i < 3)
  36.             classname = "top";
  37.  
  38.         wrapper.innerHTML += "<div class='" + classname + "'>" +
  39.             "<h1>" + response.stats[i].k + "</h1>" +
  40.             "<h2>" + response.stats[i].v  + "</h2>" +
  41.                 (response.stats[i].t ?
  42.                  "<span class='time'>since " + response.stats[i].t + "</span>" : '') +
  43.             "</div>";
  44.  
  45.     }
  46.  
  47.     T.poll();
  48. };
  49.  
  50.  
  51. //JSON
  52. {"stats": [{"k": "ipad", "t": "1:05 pm", "v": 154374}, {"k": "apple", "t": "1:05 pm", "v": 104300}, {"k": "tablet", "t": "1:05 pm", "v": 45615}, {"k": "#ipad", "t": "2:55 pm", "v": 34730}, {"k": "iphone", "t": "1:05 pm", "v": 16207}, {"k": "mac", "t": "1:05 pm", "v": 14465}, {"k": "ipod", "t": "1:05 pm", "v": 8416}, {"k": "apps", "t": "1:05 pm", "v": 8024}, {"k": "iSlate", "t": "1:05 pm", "v": 4648}, {"k": "slate", "t": "1:05 pm", "v": 3372}, {"k": "steve jobs", "t": "1:05 pm", "v": 1409}, {"k": "itunes", "t": "1:05 pm", "v": 1238}, {"k": "itablet", "t": "1:05 pm", "v": 1074}, {"k": "iwork", "t": "1:53 pm", "v": 515}, {"k": "ibooks", "t": "2:31 pm", "v": 433}, {"k": "cupertino", "t": "1:12 pm", "v": 15}, {"k": "jesus tablet", "t": "1:08 pm", "v": 11}, {"k": "sjobs", "t": "1:35 pm", "v": 10}, {"k": "moses tablet", "t": "1:08 pm", "v": 9}, {"k": "jesus phone", "t": "3:48 pm", "v": 4}]}

Plain Code

google.load("jquery", "1");

google.setOnLoadCallback(
    function() {
        $(document).ready(function() { T.poll(); });
    }
);


var T = {  };

T.poll = function () {
    var args = {};

    $.ajax({
               url: "/updates",
               type: "POST",
               dataType: "json",
               data: $.param(args),
               success: T.new_tweets
           });
};

T.new_tweets = function(response) {


    // die!
    $('.top, .bottom').remove();

    var wrapper = document.getElementById('wrapper');
    wrapper.innerHTML = "<div id='header'></div>";

    for (var i = 0; i < response.stats.length; ++i) {
        var classname = "bottom";
        if (i < 3)
            classname = "top";

        wrapper.innerHTML += "<div class='" + classname + "'>" +
            "<h1>" + response.stats[i].k + "</h1>" +
            "<h2>" + response.stats[i].v  + "</h2>" +
                (response.stats[i].t ?
                 "<span class='time'>since " + response.stats[i].t + "</span>" : '') +
            "</div>";

    }

    T.poll();
};


//JSON
{"stats": [{"k": "ipad", "t": "1:05 pm", "v": 154374}, {"k": "apple", "t": "1:05 pm", "v": 104300}, {"k": "tablet", "t": "1:05 pm", "v": 45615}, {"k": "#ipad", "t": "2:55 pm", "v": 34730}, {"k": "iphone", "t": "1:05 pm", "v": 16207}, {"k": "mac", "t": "1:05 pm", "v": 14465}, {"k": "ipod", "t": "1:05 pm", "v": 8416}, {"k": "apps", "t": "1:05 pm", "v": 8024}, {"k": "iSlate", "t": "1:05 pm", "v": 4648}, {"k": "slate", "t": "1:05 pm", "v": 3372}, {"k": "steve jobs", "t": "1:05 pm", "v": 1409}, {"k": "itunes", "t": "1:05 pm", "v": 1238}, {"k": "itablet", "t": "1:05 pm", "v": 1074}, {"k": "iwork", "t": "1:53 pm", "v": 515}, {"k": "ibooks", "t": "2:31 pm", "v": 433}, {"k": "cupertino", "t": "1:12 pm", "v": 15}, {"k": "jesus tablet", "t": "1:08 pm", "v": 11}, {"k": "sjobs", "t": "1:35 pm", "v": 10}, {"k": "moses tablet", "t": "1:08 pm", "v": 9}, {"k": "jesus phone", "t": "3:48 pm", "v": 4}]}

Permalink: http://codedumper.com/polling-example