views:

1866

answers:

4

when i update score from my admin i want to update score in client autometically without refresh can any one help with script and technices i see such auto refresh http://stackoverflow.com/ ANSWERS , VIEWS autometically updating

A: 

You'd probably want to look into a js framework.

The steps you'd go about doing this are similar to:

Add an onclick listener to your link /button When that gets trigger, stop the event (this way you stop the browser from refreshing / redirecting the page) Get the user submitted data and send it to the server via an json ajax request Process data server side and return a response Process the response and update the interface accordingly

Here is a bit more documentation on how you could do this with mootools: * http://mootools.net/docs/Request/Request.JSON if you want to go with the JSON path * http://mootools.net/docs/Request/Request.HTML if you just want an AJAX updater

Andrei Serdeliuc
+1  A: 

The only way I know to do this is to actively poll your server from the client.

You'd need to create some polling script that called your script service page with a request for the data. Then, when the data is saved in the admin page, the service will return the latest scores when next asked.

Typically, you'd use setInterval and clearInterval. So on page load, you'd assign your polling function call to the setInterval method and give it a timeout of something sensible (10 seconds plus depending on how often you expect to update your scores and how big your traffic is).

You'd need to be using clearInterval whenever you want to stop the polling. As per the other answer, a JS framework will help you with making the Ajax requests whether in Xml or JSON format. Given your tags imply 'faster' then I'd recommend JQuery and JSON.

Additionally, whatever framework you use, consider using Googles CDN for fast deployment of that framework.

I'm unaware of any server push with Ajax so would be interested to see if that methodology is available (though I doubt it).

EDITS: added more info on Google cdn and frameworks. HTH,

S

Simon
A: 

While I haven't used it, it sounds like this is what "comet" is intended to solve. It's a way of streaming content from a server to a client - basically a "push" approach. It might be what you're looking for.

http://ajaxian.com/archives/comet-a-new-approach-to-ajax-applications

Todd R
A: 

There is no need to refresh the page if you use AJAx.

With AJAX you can call the server and place the result in a portion of your web page without refreshing the page.

There is an article here regarding using AJAX via jQuery.

The jQuery documentation on AJAX is good too.

An example which would request data from the server and append the result to a section of your page is shown below:

 $.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston",
   success: function(msg){
     $("#results").append(msg);
   }
 });
Jon Winstanley