jquery polling with smart poll plugin

3.9k Views Asked by At

I'm trying for the life of me to get this plugin to work but I'm not understanding the status function so retry is not firing.

$.poll(10000, function(retry){
  $.get('willfail', function(response, status){
    if (status == 'success') {
      // Do something
      alert("YES");
    } else {
      alert("NO");
      //retry();
    }
  })
})

If I set the get request to '/' it will give me the alert YES message, but as it is, the alert No message never gets fired despite the ELSE.

I'm using a jquery polling plugin:

https://github.com/jeremyw/jquery-smart-poll

Any ideas?

2

There are 2 best solutions below

0
On BEST ANSWER

That is probably a bad example. The callback passed to $.get will only be fired if the request succeeded. Try this:

$.poll(10000, function(retry){
  $.ajax({
      url:'willfail',
      success: function(){
          // Do something
          alert("YES");
      },
      error: function() {
          alert("NO");
          retry();
      }
  });
});

For more information, have a look at $.ajax.

0
On

You can also use Smartupdater - jQuery plugin

http://www.eslinstructor.net/smartupdater/

which let you:

  • Stop/Restart polling
  • Change polling timeout dynamically
  • Switch polling URL dynamically
  • Switch callback function dynamically
  • Remotely set polling timeout
  • Remotely select callback function