Ajax代码不执行的问题,太BT了,请高手帮忙啊!~~~~ - Web 开发 / Ajax
ajax常用的两个函数如下:
                function getalluser(objectID) {
			var URL = "getuserajax.jsp";  
	 		var pars = "objectID=" + objectID;  
	 		var myAjax = new Ajax.Request(URL, { method: 'post', parameters: pars, onComplete: addop});  
		}		
		function addop(req){
     		     var maxsize = 5;
     		     var con = req.responseText.split("|");
     		     con = con[1];
     		     if(con > maxsize){
     			alert("选择对象不能超过5个!");
     			maxBool=false;
     		     }else{
     			maxBool=true;
     		     }
   		}
然后我在另外一个函数中调用如下:
                 getalluser(objectID);
		//alert(maxBool);
		if(!maxBool){
            		return false;
		}
变量 : maxBool是全局变量,我就是通过执行ajax来改变 maxBool的值,从而根据它的值来处理,但是现在有一个问题就是:在我使用getalluser(objectID)这个函数后面必须要执行一下alert(maxBool)这条命令,如果不执行,function addop(req) 这个函数也不执行。从而maxBool这个全局变量就无法进行更改。但是加上alert(maxBool)这条命令程序就正确无误,实在是郁闷,希望知道的高手指点,非常感谢!~~~~~~~~~~~
------解决方案--------------------
你指定了异步执行了吧,这样存在一个时间返回的问题.....
我猜不是没设置,而是执行getalluser后还没等执行addop就已经执行return false;了
getalluser(objectID);  
//alert(maxBool);  
if(!maxBool){  
           return false;  
}