Hi,

> No, the only real solution here, is to split the module at the point
> of the Ajax.Request() call...Then,  call the
> remainder wrapped in a setTimeout().

Why not in the onSuccess of the Ajax.Request?  That's what it's there
for...  You'll never get the timing right 100% of the time with
setTimeout.
--
--
T.J. Crowder
tj / crowder software / com
Independent Software Engineer, consulting services available


On Feb 27, 5:30 pm, BearState <wixelb...@yahoo.com> wrote:
> Thanks for the feedback,
>
> I appreciate it.    True, it would be nice to have a progress
> indicator.  But I also said that the delay was not long, but long
> enough to be of consequence.  Therefore, the progress indicator is not
> an issue.
>
> The issue is that the code is a modular response to a user click for
> some web page functionality and the code module runs on with
> processing w/o the data it needs to do the processing.
>
> I found it funny that calling the Ajax.Request() twice in a row
> provided just the right length of delay to get it right, but ...
> that's a bandaid and sucks.
>
> No, the only real solution here, is to split the module at the point
> of the Ajax.Request() call  ( and it is a separate function - yes )
> and create another module of the remainder.   Then,  call the
> remainder wrapped in a setTimeout(). That actually works fine and
> gives the required delay and further, control over how long the delay
> should be ... with capability for handling the exception of not
> getting the data from the call.
>
> It seems a bit klugey to me to do it that way, but it's not the first
> time I've seen how Javascript and HTML can be klugey.
>
> I said that some people might consider it a bug, because I'd seen
> posts on the web that decried 'Problems with Ajax'  that likely are
> tied to not understanding that there is a delay involved in getting
> stuff back from the server.
>
> It is BTW and IMHO  appropriate for the Request to allow the code to
> ramble on. All you have to do is consider a Web 2.0 that starts
> several requests while loading to understand how important it is to
> give the user something to do on the page while that stuff is
> background loading ... then, perhaps, make it visible.  Who needs a
> progress indicator,when you don't even have to make the loaded data
> visible until you have it?   No data?  --  No Errors and just the page
> missing whatever it was.   Wouldn't it be dumb to show a progress bar
> and then get no data?
>
> Anyhow,  I've found a solution and will progress from that.
>
> Thanks again.
>
> BearState
>
> On Feb 27, 7:31 am, "T.J. Crowder" <t...@crowdersoftware.com> wrote:
>
> > > T.J., while I absolutely agree with what you have said, I think you're
> > > missing part of BearState's question:
>
> > Thanks, Colin.  On first read, I thought he meant some knucklehead
> > *programmers* might think it was a bug *in Prototype*.  But I think
> > you're right.
>
> > And yes, simply displaying something when there's an outstanding
> > request should provide the appropriate feedback.  In fact, the
> > Ajax.Responders[1] are designed specifically for doing this (amongst
> > other things), and they even maintain a handy "how many requests are
> > pending" counter (Ajax.activeRequestCount) for you...
>
> > [1]http://prototypejs.org/api/ajax/responders
>
> > FWIW,
> > --
> > T.J. Crowder
> > tj / crowder software / com
> > Independent Software Engineer, consulting services available
>
> > On Feb 27, 2:57 pm, ColinFine <colin.f...@pace.com> wrote:
>
> > > On Feb 27, 6:21 am, "T.J. Crowder" <t...@crowdersoftware.com> wrote:> Hi,
>
> > > > Rather than thinking of an Ajax request as a function call, think of
> > > > it as a message you send out.  Send it, then get on with other things,
> > > > or just wait (where waiting is not a busy-wait where the user can't do
> > > > anything).  When you get a reply, deal with the reply.  In this case,
> > > > replies are (basically) "complete" and "failure".
>
> > > T.J., while I absolutely agree with what you have said, I think you're
> > > missing part of BearState's question:
> > > "Some knuckleheads might well be provoked to say, "Hey, I didn't get
> > > my
> > > data.  There's a bug." "
>
> > > The trick then is to make something happen visually to show the user
> > > that something is happening: an animated cursor, an hourglass, even
> > > just temporarily change the colour of something.
>
> > > Some Scriptaculous facilities provide this for you (see 'indicator' 
> > > inhttp://wiki.github.com/madrobby/scriptaculous/ajax-autocompleter, for
> > > example, but I think you'll have to do it yourself with the basic
> > > Prototype Ajax classes. But it's not hard. You set something in the
> > > 'onCreate' callback, and remove or stop it in 'onComplete'.
>
> > > Colin- Hide quoted text -
>
> > - Show quoted text -
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to