I have a php page that echos out rows from a database. I want to call it via jquery/ajax every 30 seconds. But I also want to be able to call the page at any time so that if I add a record via the form, once the form submits I want the page via called to ajax to update the results right away. Can anyone point me in the right direction or provide some base code so I can try to figure this out? Still very new to jquery/ajax.
Share
If you want to set something on a timer, you can use JavaScript’s
setTimeoutorsetIntervalmethods:Where
expressionis a function andtimeoutandintervalare integers in milliseconds.setTimeoutruns the timer once and runs theexpressiononce whereas setInterval will run theexpressionevery time theintervalpasses.So in your case it would work something like this:
As far as the Ajax goes, see jQuery’s
ajax()method. If you run an interval, there is nothing stopping you from calling the sameajax()from other places in your code.If what you want is for an interval to run every 30 seconds until a user initiates a form submission…and then create a new interval after that, that is also possible:
setInterval()returns an integer which is the ID of the interval.If you store that ID in a variable, you can then call
clearInterval(id)which will stop the progression.Then you can reinstantiate the
setInterval()call after you’ve completed your ajax form submission.