【问题标题】:AJAX returns multiple results how to direct user to another page when a specific result is returned?AJAX返回多个结果当返回特定结果时如何将用户引导到另一个页面?
【发布时间】:2011-06-17 08:24:36
【问题描述】:

当 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) {
            return true;
        }
        else {
            echo ' Please add your email. ';
        }
    }
emailCheck($email);

【问题讨论】:

  • 如果您提供代码,我们将更容易尝试帮助您的具体案例。

标签: php javascript mysql ajax


【解决方案1】:

我认为您可以使用如下方式在成功时重定向到其他页面:

if (xmlhttp.readyState == 4 && xmlhttp.status == 200)  {
      if(xmlhttp.responseText)
      {
        window.location = "http://www.yoururl.com";
      }
    
    }

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多