[richfaces-svn-commits] JBoss Rich Faces SVN: r4943 - in trunk/framework/impl/src/main: javascript/ajaxjsf and 1 other directory.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Thu Dec 20 15:55:21 EST 2007
Author: alexsmirnov
Date: 2007-12-20 15:55:21 -0500 (Thu, 20 Dec 2007)
New Revision: 4943
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseFilter.java
trunk/framework/impl/src/main/javascript/ajaxjsf/JSFAJAX.js
Log:
Fix JavaScript AJAX.push code , and change empty events response code to 202, for fix issue http://jira.jboss.com/jira/browse/RF-1753
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseFilter.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseFilter.java 2007-12-20 18:46:05 UTC (rev 4942)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseFilter.java 2007-12-20 20:55:21 UTC (rev 4943)
@@ -237,9 +237,12 @@
&& null != ajaxPushHeader) {
PushEventsCounter listener = eventsManager
.getListener(ajaxPushHeader);
+ // To avoid XmlHttpRequest parsing exceptions.
+ httpServletResponse.setContentType("text/plain");
+ httpServletResponse.setContentLength(0);
if (listener.isPerformed()) {
listener.processed();
- httpServletResponse.setStatus(200);
+ httpServletResponse.setStatus(HttpServletResponse.SC_OK);
if (log.isDebugEnabled()) {
log
.debug("Occurs event for a id "
@@ -247,7 +250,7 @@
}
} else {
// Response code - 'No content'
- httpServletResponse.setStatus(204);
+ httpServletResponse.setStatus(HttpServletResponse.SC_ACCEPTED);
if (log.isDebugEnabled()) {
log.debug("No event for a id " + ajaxPushHeader);
}
Modified: trunk/framework/impl/src/main/javascript/ajaxjsf/JSFAJAX.js
===================================================================
--- trunk/framework/impl/src/main/javascript/ajaxjsf/JSFAJAX.js 2007-12-20 18:46:05 UTC (rev 4942)
+++ trunk/framework/impl/src/main/javascript/ajaxjsf/JSFAJAX.js 2007-12-20 20:55:21 UTC (rev 4943)
@@ -235,8 +235,12 @@
LOG.debug("selectNodes found "+elements.length);
}
catch (ex) {
- elements = element.getElementsByTagName(elementname);
- LOG.debug("getElementsByTagName found "+elements.length);
+ try {
+ elements = element.getElementsByTagName(elementname);
+ LOG.debug("getElementsByTagName found "+elements.length);
+ } catch(nf){
+ LOG.debug("getElementsByTagName found no elements, "+nf.Message);
+ }
}
// return document.getElementsByTagName(tagName);
// elements = element.getElementsByTagNameNS("http://www.w3.org/1999/xhtml",elementname);
@@ -513,18 +517,16 @@
if (request.readyState == 4 ) {
try {
if(request.status == 200){
-// A4J.AJAX._pollers[options.pushId]=undefined;
A4J.AJAX.SubmitRequest(containerId,form||options.dummyForm,null,options);
}
} catch(e){
// Network error.
}
+ // Clear variables.
+ request=null;
+ A4J.AJAX._pollers[options.pushId] = null;
// Re-send request.
A4J.AJAX.Push( containerId, form, options );
- request=null;
-// A4J.AJAX._pollers[options.pushId] = window.setTimeout(function(){
-// A4J.AJAX.SendPush( request,options );
-// },options.pushinterval);
}
}
A4J.AJAX.SendPush( request,options );
@@ -538,13 +540,13 @@
if(options.timeout){
request.setRequestHeader( "Timeout", options.timeout);
}
- request.send();
+ request.send(null);
}
A4J.AJAX.StopPush = function( Id ) {
if(A4J.AJAX._pollers[Id]){
window.clearTimeout(A4J.AJAX._pollers[Id]);
- A4J.AJAX._pollers[Id] = undefined;
+ A4J.AJAX._pollers[Id] = null;
}
};
More information about the richfaces-svn-commits
mailing list