TJ, I think BearState is just missing the async nature of ajax. Best,
Tobie On Feb 27, 11:17 pm, "T.J. Crowder" <t...@crowdersoftware.com> wrote: > 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 -~----------~----~----~----~------~----~------~--~---