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;
}