ajax跳转如何判断?function GetXmlHttpObject()
{
  var xmlHttpqq=null;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttpqq=new XMLHttpRequest();
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttpqq=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      xmlHttpqq=new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
  return xmlHttpqq;
}
function fz()
{
  xmlHttp=GetXmlHttpObject()
  
  if (xmlHttp==null)
    {
    alert ("请开启浏览器javascript或更新您的浏览器");
    return;
    }
var url="code.php";
url=url+"?sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
//alert(sn)//这个值取不到?怎么办
//alert(stateChanged.sn)//这个值取不到?怎么办
if(sn!="ok"){return false;}else return true;
}
function stateChanged()
{
 
  if (xmlHttp.readyState==4)
  { 
    sn=xmlHttp.responseText; return false; }
 else return false;}

解决方案 »

  1.   

    xmlHttp.onreadystatechange=stateChanged你看写错了没有,差个 ();
      

  2.   

    异步操作要在回调函数里取值
    function stateChanged()
    {
      if (xmlHttp.readyState==4 && xmlHttp.status == 200)
      {  
        sn=xmlHttp.responseText;
        alert(sn);
        if(sn!="ok") alert(111);
      }
    }
      

  3.   


    <form id="formid" method="post"  target="_self"  action="reg.php"  name="send"  onSubmit="return fz()"> </form>我的本意是:以上表单
    使用判断语句
    if(sn!="ok")return false;else return true;
    后如果sn!="ok"表单不跳转到后台处理页面"reg.php";继续停留在原输入页面.如果照您所说,
    异步操作在回调函数里取值;在stateChanged()后面使用
    if(sn!="ok")return false;else return true;结果都会跳转到后台.
    如果在fz()后面加上return false;语句后,结果相反都不会跳转到后台.
    经续请教该如何解决?
      

  4.   

    function stateChanged()
    {
      if (xmlHttp.readyState==4 && xmlHttp.status == 200)
      {   
      sn=xmlHttp.responseText;
      if(sn!="ok") document.forms[0].submit();
      }
    }