[richfaces-svn-commits] JBoss Rich Faces SVN: r2552 - trunk/framework/impl/src/main/javascript/ajaxjsf.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Tue Aug 28 15:18:34 EDT 2007


Author: alexsmirnov
Date: 2007-08-28 15:18:34 -0400 (Tue, 28 Aug 2007)
New Revision: 2552

Modified:
   trunk/framework/impl/src/main/javascript/ajaxjsf/JSFAJAX.js
Log:
Fix http://jira.jboss.com/jira/browse/AJSF-115 - error handling for a poll component.

Modified: trunk/framework/impl/src/main/javascript/ajaxjsf/JSFAJAX.js
===================================================================
--- trunk/framework/impl/src/main/javascript/ajaxjsf/JSFAJAX.js	2007-08-28 17:47:30 UTC (rev 2551)
+++ trunk/framework/impl/src/main/javascript/ajaxjsf/JSFAJAX.js	2007-08-28 19:18:34 UTC (rev 2552)
@@ -55,11 +55,14 @@
 		      			window.clearTimeout(_this._timeoutID);
 		      		}
 		      		var requestStatus;
+		      		var requestStatusText;
 		      		try{
 		      			requestStatus = _this._request.status;
+		      			requestStatusText = _this._request.statusText;
 		      		} catch(e){
 		      			LOG.error("request don't have status code - network problem");
 		      			requestStatus = 501;
+		      			requestStatusText = "Network error";
 		      		}
 		      		if(requestStatus == 200){
 						try {
@@ -79,7 +82,7 @@
 		      				_this.onready(_this);
 		      			}
 		      		} else {
-		      			_this._errorMessage = "Reqest error, status : "+requestStatus +" " + _this._request.statusText + "\n Message: " + _this.getResponseHeader("Ajax-Error-Message");
+		      			_this._errorMessage = "Reqest error, status : "+requestStatus +" " + requestStatusText ;
 		      			LOG.error(_this._errorMessage);
 		      			if(typeof(_this._onerror) == "function"){
 		      				_this._onerror(_this,requestStatus,_this._errorMessage);
@@ -409,10 +412,15 @@
  */
 A4J.AJAX.Poll =  function( containerId, form, options ) {
 	A4J.AJAX.StopPoll(options.pollId);
-	options.onerror = function(){
+	if(!options.onerror){
+	  options.onerror = function(req,status,message){
+		if(typeof(A4J.AJAX.onError)== "function"){
+			A4J.AJAX.onError(req,status,message);
+    	}		
 		// For error, re-submit request.
-		A4J.AJAX.Poll(containerId,form,options);
-	};
+    	A4J.AJAX.Poll(containerId,form,options);
+	  };
+	}
 	A4J.AJAX._pollers[options.pollId] = window.setTimeout(function(){
 		A4J.AJAX._pollers[options.pollId]=undefined;
 		if((typeof(options.onsubmit) == 'function') && (!options.onsubmit())){




More information about the richfaces-svn-commits mailing list