ajax得到的内容,没法通过return返回的
xmlhttp.onreadystatechange=function(){}只能在这里边进行判断除非你让你的js延迟到执行完ajax代码,也就是
if(4==xmlhttp.readyState){
if(200==xmlhttp.status){}
}
这两个状态完成之后再返回值js代码,即使是在window.onload()时间里执行,也是在页面代码全部加载到客户端之后执行的,
而ajax执行的时候需要重新访问服务器,这本身需要一定的时间,你页面的代码加载完毕之后,ajax代码并不一定先执行完了,这时候你返回它的结果,肯定会报undifend
xmlhttp.onreadystatechange=function(){}只能在这里边进行判断除非你让你的js延迟到执行完ajax代码,也就是
if(4==xmlhttp.readyState){
if(200==xmlhttp.status){}
}
这两个状态完成之后再返回值js代码,即使是在window.onload()时间里执行,也是在页面代码全部加载到客户端之后执行的,
而ajax执行的时候需要重新访问服务器,这本身需要一定的时间,你页面的代码加载完毕之后,ajax代码并不一定先执行完了,这时候你返回它的结果,肯定会报undifend
function test(){
//ajax访问服务器页面
//ajax访问服务器并返回信息需要一定的时间
//但是这里的代码并不会等它返回完毕之后再继续往下运行
return "";//所以可能ajax还没获取到任何服务器返回的信息,这句代码就被执行了
}
if(200==xmlhttp.status)
{
if (xmlhttp.responseText=="yes")
{
msg="此用户名已经存在";
}
else
{
msg="输入正确";
}
}
else
{
msg="网络链接失败";
}
showMsg(msg);
}//-----------------------------
showMsg(msg)
{
alert(msg);
//你想用这个信息干吗就干吗
}
你需要的是一个信息,但是靠这个返回是不行的,不过你可以在这里通过调用 一个函数来实现
xmlhttp.open("get","checkuser.asp?username="+escape(username)+ "&t=" + new Date().getTime(), false);