> I think I understand now.
> The client is polling the server for new data that could come up
> because of external events.
> If I understand correctly, this kind of application is useful for a
> certain class of websites like chat, real time data updating (like
> stock quotes), etc..
> In majority of ajax applications, such polling might be useless isn't it?
Not quite useless. The reason I originally wrote AjaxPage was for a
system that can have long-running requests to the server (generating
reports). In that case, I was fighting against browser/server timeouts.
On our installation of Apache, the client/server connection would be
broken after 5 minutes. I needed a way to get around this. For a long
running request, AjaxPage works as follows:
1) Client requests a big report. This request is sent to ajax_request().
2) ajax_request() calls the appropriate functions on the server.
2a) Once the server-side function has returned, the results are sent
back down the pipe to the client...
2b) ...unless it took longer that TIMEOUT seconds to complete (the
timeout is defaulted to 100). Since, in our example, the request _did_
take a while to finish, ajax_request() puts the results into the results
bucket that ajax_response() is polling.
3) ajax_response(), which is being polled every few seconds by the
client, sees that there is something for the client in the results
bucket, grans it, and sends it to the cient.
The results sent to the client can be anything, really, but, in my
For a particular application, one may not ever need this functionality.
Since the amount of time the client waits between polls of the sever is
set on the server, you could just set that value to a really big number,
essentially stopping the polling (see ajax_response).