sorry. Problem was with PHP session locking. Last request takes a while and during this process it locked PHP session. Now it is fixed and everything works fine.
2008/10/1 Modestas <[EMAIL PROTECTED]>: > Hello, I'm having problems with web page locks. > > When Ajax.Request is started and the user clicks on any link on the > page while request is still running, then page is locked until Request > will finish. > I tryed all prototype versions and the newest one 1603 also. Can > somebody help me solve this issue, because it renders all site useless > until the request finishes. And it may take a while. > > Can somebody help me? Please. > > I use first Ajax.Request > > var ajaxRequest = new Ajax.Request(this.getHandleUrl, { > method: 'post', > evalJS : false, > asynchronous : true, > parameters: paramsStr, > onSuccess: function(transport) { > var response = eval('(' + transport.responseText + ')'); > controller.statusPanel.stop(); > if (response.status == 1) { > controller.handle = response.handle; > controller.updateResults(controller.offset); > } else { > if (response.redirectLink != undefined) { > window.location=response.redirectLink; > } > controller.resultRenderer.drawNoResults(); > } > }, > onException : function(request, e){ > //alert(e); > //todo: implement further error handling > controller.statusPanel.stop(); > } > }); > > //////////////////////////////////////////////////////////////////////////////////////// > onSuccess i start updateResults(). It creates periodicalUpdater and > calls server until server sends end of results signal. Then it draws > results. Terminates periodicalupdater. > > periodicalUpdater = new Ajax.PeriodicalUpdater('', updateUrl, > { > method: 'post', > parameters: paramsStr, > frequency: 2, > asynchronous : true, > evalJS : false, > evalJSON : false, > decay: 2, > onException : function(request, e){ > periodicalUpdater.stop() > if (controller.testMode) { > //alert(e); > } > controller.statusPanel.stop(); > }, > insertion: null, > onSuccess : function(transport) { > > var response = eval('(' + transport.responseText + > ')'); > var tripsResult = response.results; > controller.tripsResult = tripsResult; > > if (response.status != 1) { > if (controller.testMode) { > //alert('error on PHP side'); > //todo: implement further error handling > } > periodicalUpdater.stop(); > controller.statusPanel.stop(); > if (response.redirectLink != undefined) > { > window.location=response.redirectLink; > } > } > > var adults = $F('adults_count'); > var children = $F('children_count'); > var babies = $F('infants_count'); > controller.draw(tripsResult); > if (tripsResult.searchStatus == 1) { > controller.stopSearch(); > if (tripsResult.flightResultCount == 0) { > controller.resultRenderer.drawNoResults(); > } else { > //check if verify must be launched > > if (adults > 1 || children > 0 || babies > 0) > { > controller.startVerify(); > } > } > } > } > }); > > > again, if more specific update on retrieved results are needed - i > launch another ajax.Request > verifyRequest = new Ajax.Request(this.verifyUrl, { > method: 'post', > asynchronous : true, > evalJS : false, > parameters: paramsStr, > onSuccess: function(transport) { > var response = eval('(' + transport.responseText + ')'); > response = eval('(' + transport.responseText + ')'); > if (response.status == 1) { > > controller.resultRenderer.drawResults(response.results); > } else { > if (response.redirectLink != undefined) > { > window.location=response.redirectLink; > } > } > controller.statusPanel.stop(); > }, > onException : function(request, e){ > controller.statusPanel.stop(); > //todo: implement further error handling > } > }); > > --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---