浏览器不响应标题重定向

时间:2018-07-17 15:52:37

标签: javascript php

请帮助...我是php新手。谢谢

php1将通过方法Post向php2发送数据('1234')。 php2应该使用标题位置重定向到带有数据(无效)的php3。

Chrome开发者工具表明一切正常(发送和接收数据。发送和接收数据)。 不知何故,浏览器没有响应并停留在php1上。我已经尝试过Safari和Firefox。没有反应。 如果您能提出建议,将不胜感激。谢谢

这3个php文件是:

php1

<?php 
session_start();
$M = '';
if (isset($_GET['m'])) {
    $M = $_GET['m'];
}
?>
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $('#send').click(function () {
      var str = '1234';
      $.post('php2.php',
        {
        email: str
        },
        function (data, status) {
        }
      );
    });
});
</script>
</head>
<body>
<div>
<button id="send">SEND</button>
<br>
<?php echo $M; ?>
</div>
</body>
</html>

php2

<?php
session_start();
ob_start();
error_reporting(E_ALL);
if (!empty($_POST)){
    $Email = $_POST['email'];
    if (!filter_var($Email, FILTER_VALIDATE_EMAIL)) {
        header('Location: php3.php?m=invalid');
        exit();
    } 
} else {
    header('Location: php1.php?m=nodata');
    exit();
}
ob_end_flush();
?>

php3

<?php 
session_start();
$M = '';
if (isset($_GET['m'])) {
    $M = $_GET['m'];
}
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div>
<?php echo $M; ?>
</div>
</body>
</html>

这是chrome开发人员的屏幕截图:

Screenshot of Chrome Developer .Tools

1 个答案:

答案 0 :(得分:0)

您应该像这样更改php1.php的代码

<?php 
session_start();
$M = '';
if (isset($_GET['m'])) {
    $M = $_GET['m'];
}
?>
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $('#send').click(function () {
      var str = '1234';
      $.post('php2.php',
        {
        email: str
        },
        function (data, status) {
          $("#content").html(data); // <----- ADDED
        }
      );
    });
});
</script>
</head>
<body>
<div id="content">
<button id="send">SEND</button>
<br>
<?php echo $M; ?>
</div>
</body>
</html>