大家好!我刚接触java! 解释一下: function fvalidate(text, textError) { |
|
40分 |
这是因为异步调用造成的,当执行post方法的时候,请求后台去执行,当后台尚未执行完毕,js不会等待,而执行post方法后面的代码,造成 程序执行的时候总是先执行$.post()之后的代码。
lz可以这样试试: function fvalidate(text, textError) { var code = $("#" + text); var ce = $("#" + textError); var r = 0; $.post("validate", {"codeText" : code.val()}, function(rsp) { if (rsp == "1") { ce.html("<font color=""green"" size=""2"">验证码正确</font>"); r=1; alert("++"+r); return true;//作为测试用 } else { ce.html("<font color=""red"" size=""2"">验证码错误</font>"); r=0; alert(r); alert("--"+r); return false; } } 或者 function fvalidate(text, textError) { var code = $("#" + text); var ce = $("#" + textError); var r = 0; $.post("validate", {"codeText" : code.val()}, function(rsp) { if (rsp == "1") { ce.html("<font color=""green"" size=""2"">验证码正确</font>"); r=1; alert(r);//作为测试用 return returnResult(r); } else { ce.html("<font color=""red"" size=""2"">验证码错误</font>"); r=0; alert(r); return returnResult(r); } }); } function returnResult(var r){ if (r==1) { alert("++"+r); return true; } alert("--"+r); return false; } |
万分感谢!这个问题我已经解决了!
顺便说下!您这样写法return只会跳出$.post();我想要的是给function fvalidate()返回真假值 |
|
试试这个…
http://zhidao.baidu.com/question/386314993.html |
|
你好,我也遇到了这个问题,请问楼主怎么解决的啊
|
|
楼主怎么解决啊??
|