linux下 js 无效,js中return false失效是怎么回事?

js中return false失效是怎么回事?

今天在写一个功能,是需要用到ajax,所以我就很爽快的从本站找了一下GET方式的ajax,速度很快,通过函数,获取到了返回的值。

大致的代码是这样的:

function postcheck(){

var user_name= document.getElementById('username');

var user_tel= document.getElementById('usertel');

var yzm = document.getElementById("yzm");

S_xmlhttprequest(); //------------------引用上面的方法

xmlHttp.open("GET","./yzm.php?tel="+user_tel.value+ "&yzm="+ yzm.value,false);

xmlHttp.onreadystatechange = byphp; //------------------引用byphp方法

xmlHttp.send(null);

}

function byphp(){ //------------------php运行的结果返回在这里

var eitail = xmlHttp.responseText;

return false;//**ABC***

}

之后就是根据 byphp()这个方法中的eitail这个值是正确还是不正确,若不正确,就终止postcheck()方法。但是怎么写ABC都不成功,都不能禁止,那怎么办呢?怎么才能使这里的return false能够起作用呢?后来我改了下。使byphp()中的eitail变成全局变量,只需要将之前的var去掉即可。

修改的代码如下:

function byphp(){ //------------------php运行的结果返回在这里

eitail = xmlHttp.responseText;

}

function postcheck(){

var user_name= document.getElementById('username');

var user_tel= document.getElementById('usertel');

var yzm = document.getElementById("yzm");

S_xmlhttprequest(); //------------------引用上面的方法

xmlHttp.open("GET","./yzm.php?tel="+user_tel.value+ "&yzm="+ yzm.value,false);

xmlHttp.onreadystatechange = byphp; //------------------引用byphp方法

xmlHttp.send(null);

if(eitail != 1){

alert(eitail);

return false;

}

}

这样,只要将eitail设置成全局变量,在postcheck()的方法中进行这个全局变量的判断即可。

如果您看到了最后这一行,我要告诉你一句,请记住js中的全局变量这个词,以后用到的可是很多的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值