AJAX返回多个结果,如何在返回特定结果时将用户定向到另一个页面?

时间:2011-01-28 16:03:51

标签: php javascript mysql ajax

当php函数调用数据库时,我返回了多个结果。 ajax在div元素中显示这些调用的结果。

一旦从php函数中获得特定结果,如何将用户引导到下一页?

现在当我尝试重定向页面时,它会将其加载到div中,我从中获取返回的消息。

HTML

    <form action="reg.php" method="post">
    <input type='text' id='email'>
           <input type="button" value="Add Email" onClick="loadXMLDoc()">
    </form>

<div id='ajax'></div>

ajax

function loadXMLDoc(){     var xmlhttp;       xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function()  {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200)  {
    document.getElementById("ajax").innerHTML = xmlhttp.responseText;

  }
}

var a = document.getElementById('email').value;


var email ="email="+a;
xmlhttp.open("POST","reg.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(email);

}

PHP

$ email = $ _POST ['email']; function emailCheck($ email){         if($ email!= null){             返回true;         }         其他{             echo'请添加您的电子邮件。 “;         }     } emailCheck($电子邮件);

2 个答案:

答案 0 :(得分:0)

你必须在JS中做到这一点。否则,重定向发生,然后JS处理重定向后收到的数据。请记住,HTTP重定向意味着“您在寻找的内容可以在这里找到”,而不是“浏览器应该在主窗口中加载此页面”。

if (someCondition) {
    location = "http://example.com/";
}

答案 1 :(得分:0)

如果重定向页面显示在div中,那是因为您在服务器上进行了重定向(在PHP代码中)。 您必须在javascript函数中进行重定向,以获取带有“window.location = ...”的AJAX响应