I thought your action methods had to be void methods for Ajax actions, otherwise this happens. ?
jal Sent from my iPhone On Jul 12, 2011, at 10:58 PM, Chuck Hill <ch...@global-village.net> wrote: > On Jul 12, 2011, at 4:29 PM, Ricardo J. Parada wrote: >> On Jul 12, 2011, at 5:53 PM, Chuck Hill wrote: >>> On Jul 12, 2011, at 2:45 PM, Ricardo J. Parada wrote: >>>> On Jul 12, 2011, at 4:52 PM, Chuck Hill wrote: >>>> >>>>> Hi Ricardo, >>>>> >>>>> On Jul 12, 2011, at 1:35 PM, Ricardo J. Parada wrote: >>>>>> >>>>>> Does anybody have an idea what could be causing this problem? The user >>>>>> clicks on an AjaxModalDialogOpener which opens the dialog. Then the >>>>>> user does a whole bunch of stuff in the dialog that involves many clicks >>>>> >>>>> Does it still happen if they don't make so many clicks? >>>> >>>> If they make a few clicks then it works okay. >>>> >>>> >>>>>> then finally clicks a DONE link to close the dialog. >>>>> >>>>> Are all of these links and clicks Ajax actions? >>>>> >>>> >>>> Yes, they are clicking on links generated by AjaxSubmitButton components >>>> to be exact. :-) >>> >>> And you are certain that there are no /wo/ or /wa/ requests mixed in here? >> >> I set this property in my Properties.dev: >> >> log4j.logger.er.extensions.ERXApplication.RequestHandling=DEBUG >> >> and then I looked at all the uri's of the requests coming in. They have >> /ajax/ in there and when the dialog first comes up I see a few /_wr_/ and I >> guess the browser caches those since I don't see requests for those anymore >> on subsequent requests after the dialog is displayed. > > Those should be OK, they won't affect the page caches. > > >> All the requests for the "many clicks" I mentioned have /ajax/ in them. I >> don't see any /wo/ requests mixed in. >> >> Also I set a breakpoint in ERXAjaxSession.java at the only place it calls >> super.savePage() where I assume the current page would be saved but I never >> hit the breakpoint. I would think that regular component requests would be >> generating new context IDs and therefore saving the page in the cache for >> those context IDs. But I don't see the page getting saved. :-/ > > Yeah, that is what I would expect too. > > >>>>>> The dialog has a closeUpdateContainerID bound with the id of an ajax >>>>>> update container to refresh, which it does refresh upon closing the >>>>>> dialog. But then the user clicks on a link on the page that is outside >>>>>> the refreshed AjaxUpdateContainer and the app displays the error "You >>>>>> backtracked too far. The application backtracking limit of 30 has been >>>>>> exceeded." >>>>> >>>>> Ajax links or regular component actions links? I do what seems to be the >>>>> same thing (except maybe the "does a whole bunch of stuff in the dialog") >>>>> and have not had any problems. >>>>> >>>> >>>> They are regular component action links. The context ID for which the >>>> page is being restored is 22. >>> >>> The original URL is 21? >>> >> >> Well, I just put in there a <wo:link string="test" action="$test"/> and by >> inspecting that link after I close the ajax modal dialog and the update >> container refreshes the href for the link is: >> >> http://192.168.1.9:53295/cgi-bin/WebObjects/Phynance.woa/wo/EmqPpwSYBiOiS7PPSLDXzw/8.0.0.9.1.1.13.1.5.1.2.1.1.3.51 >> >> and clicking that generates the "You backtracked too far" error. > > What is the context ID shown in the browser's location URL? > > >>>>> The key to tracking this down is to know if it is the Ajax or the regular >>>>> page cache that is missing the component. >>>>> >>>> >>>> I'm stepping through the restorePageForContextID() in ERXAjaxSession.java >>>> but I'm not sure what to look for. >>> >>> >>> Sorry, I just meant if the URL that caused the error was a /ajax/ or /wo/ >>> URL. It sounds like a /wo/ URL so that suggests to me that something in >>> your dialog is generating /wo/ or /wa/ requests that are pushing the page >>> out of the standard page cache. >> >> I did not see any /wo/ nor /wa/ requests. They are all /ajax/ requests. >> >> Maybe I'll try to create a test Wonder app with an ajax modal dialog with a >> single ajax link in it that displays the current time when clicked... Then I >> can click it many many times. Then close the dialog and then click on a >> link on the page afterwards to see if I can reproduce. > > I'd be interested if you can reproduce it. The only think that I can think > of is that the Ajax code is getting confused and using the regular page > cache. But then I would expect to see calls to super.savePage. > > The only other thing that I can think of is that the session is getting > switched, but with the session in the URL that should not happen. > > > Chuck > > -- > Chuck Hill Senior Consultant / VP Development > > Practical WebObjects - for developers who want to increase their overall > knowledge of WebObjects or who are trying to solve specific problems. > http://www.global-village.net/products/practical_webobjects > > > > > > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) > Help/Unsubscribe/Update your Subscription: > http://lists.apple.com/mailman/options/webobjects-dev/the_larsons%40mac.com > > This email sent to the_lars...@mac.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com