0

如何使用从 jquery 从 page1 发布到 page2 的变量。我正在使用以下场景

page1.php

    if ( this.checked ) { 
            $.ajax({
                url: 'page2.php',
                type: "POST",
                data: ({name: 145}),
                success: function(data){
               //$("#result").html(data);
                }
            });        

        }

这不起作用,为什么,如果我单独打开 page2.php 并希望进一步使用帖子数据

    Page2.php
    <?php
    $userAnswer = $_POST['name'];    
    if ($_POST['submit']){
         echo $userAnswer; 
    }       

    ?>
    <form method="post" action="page2.php">
<input type="submit" value="submit" name="submit" />
</form>

如果我打开 page2.php 并按下提交按钮,则从 page1 发布的值不会显示

4

3 回答 3

1

您没有发送“提交”数据。

if ( this.checked ) { 
    $.ajax({
        url: 'page2.php',
        type: "POST",
        data: ({name: 145, submit: "submit"}), // note the submit property
        success: function(data){
            //$("#result").html(data);
        }
    });        
}

我刚刚注意到这一点:

如果我打开 page2.php 并按下提交按钮,则从 page1 发布的值不会显示

那永远不会发生。您从 ajax 请求发布的值不会持续到来自不同页面的第二个请求。您希望将其存储在某种持久存储(例如数据库)中,而不是在请求完成后将丢失的变量。

于 2012-12-21T19:29:37.097 回答
0
if ( this.checked ) {

$.post("page2.php", {name1: variable1, name2: variable2, ...}, function (result) {

});
}

page2.php

$storeVariable1 = $_POST['name1'];
$storeVariable2 = $_POST['name2'];
于 2012-12-22T16:04:51.037 回答
0

为什么不使用“.load()”函数而不是 post ?

$('#resultat').load('page2.php',{name: 145});
于 2012-12-22T15:53:20.443 回答