0

このプログラムでは、ヘッダーが google.co.in に設定された PHP ファイルを作成していました。コードを見てみましょう

<?php
session_start();
$status=$_POST['input'];

    if (isset($status)) {

        header('Location: http://google.co.in/');
    } 

?>

そして、私はjavascriptを含む別のファイルを持っています。それを見てみましょう

<?php
session_start();
echo time();
?>

<html>
<head>
    <title>my app</title>
    <script type="text/javascript" src="jquery-2.0.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $(this).mousemove(function(){

                $.post('logout.php',{input: 1});
                //window.location.href="logout.php"
            });
        });

    </script>
</head>
<body>
    <h2>we are on the main_session</h2>
</body>
</html>

問題は、ローカルホストでこれを実行しているときに、firebug ではなく google.co.in にリダイレクトされず、302 エラーが表示されることです。しかし、私が自分のコードでコメントした window.location.href 構文を使用していると、google.co.in にリダイレクトされます。この背後にある問題を教えてください。

4

4 に答える 4

0

問題は$.post、リダイレクト手法ではなく AJAX メソッドです。明らかに、$.postリダイレクトではなく別のページからコンテンツを取得する必要がある場合に使用されます。したがって、解決策は usewindow.location.hrefです。

于 2013-08-01T11:59:43.363 に答える
0

リダイレクトしたい場合は、
window.location.href="logout.php"または単に使用してくださいwindow.location="logout.php"

$.post()post がターゲット Web ページのコンテンツを取得し、window.location がリダイレクトするためではありません。

于 2013-08-01T11:52:13.120 に答える