Richard Quadling
2007-Apr-23  12:15 UTC
How do I get a chance to handle the response to an Ajax.PeriodicalUpdater?
Hi.
Take this piece of working code ...
obj_Ajax_FPN_Progress = new Ajax.PeriodicalUpdater
	(
	''FPN_Progress'',
	''/FPN_Progress.php?FPN='' + s_FPN,
	{
	method : ''get'',
	frequency : 1,
	decay : 1.5
	});
Currently this is started by the user filling in a text box and
clicking a button. The progress shows how far through the server side
processing things have gone. All fine.
The response from the server is straight HTML at the moment (an image
for a spinner and some text).
This all works great.
The main process (also started via an AJAX call) results are handled via ...
var a_Results = eval(''('' + unescape(transport.responseText) +
'')'');
and then the a_Results array is processed.
Everything is fine - all works.
But. The process of handling the FPN can take a long time. The main
process is generating results as it goes and holds them until the end.
I can make the results available in real time (i.e. to the
PeriodicalUpdater), but I don''t want to generate the HTML server side
(as this actual server code is used for other things).
If I want to deal with the results in realtime, I seem to be able to
use the onSuccess() method and set the container to a hidden span. Is
there anything I''ve missed? Is there a more appropriate way to do
this?
obj_AjaxFaxCheckProgress = new Ajax.PeriodicalUpdater
	(
	''hidden'',
	''/faxReferenceDecoderProgress.php?FaxReferenceCode='' +
s_FaxReferenceCode,
	{
	method : ''get'',
	frequency : 1,
	decay : 1.5,
	onSuccess : function(transport)
		{
		var a_Results = eval(''('' + unescape(transport.responseText)
+ '')'');
		if (transport.responseText.indexOf(''PROGRESS'') != -1)
			{
			$(''FPN_Progress'').update(a_Results.PROGRESS);
			console.dir(a_Results);
			WriteGuesses(a_Results, true);
			}
		}
	});
Have I missed something obvious?
Regards,
Richard Quadling.
-- 
-----
Richard Quadling
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
"Standing on the shoulders of some very clever giants!"
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Spinoffs" group.
To post to this group, send email to
rubyonrails-spinoffs-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-spinoffs-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---