使用Jquery将变量从PHP文件传递到PHP文件

使用Jquery将变量从PHP文件传递到PHP文件,php,ajax,Php,Ajax,我想使用jquery将一个变量从file1.php传递到file2.php file1.php <?php $user_rank = $rank; ?> <?php $user_rank = $_GET['user_rank']; ?> <?php $user_rank = $rank; ?> <script> function getRank() { $.ajax({

我想使用jquery将一个变量从file1.php传递到file2.php

file1.php

<?php
    $user_rank = $rank;
?>
<?php
    $user_rank = $_GET['user_rank'];
?>
<?php
    $user_rank = $rank;
?>

<script>
    function getRank()
    {
        $.ajax({
            type: "GET",
            url: "file2.php",
            data: {user_rank: '<?php echo $user_rank; ?>'},
            success: function(result){
                $("#TargetRank").html(result);
            }
        });         
    }
</script>

有人能帮我吗?

传递部分可以发生在定义变量的脚本中,因此在
file1.php
中。然后您将获得以下文件:

file1.php

<?php
$user_rank = 123;
?>
<script>
function getRank()
{
$.ajax({
       type: "GET",
       url: "file2.php?user_rank=<?php echo $user_rank; ?>",
       success: function(result){
         $("#TargetRank").html(result);
       }
     });         
};
</script>
<?php
$user_rank = $_GET['user_rank'];
echo $user_rank;
?>

我猜Javascript代码是在
file1.php
中使用的。然后,您的问题变得更像“如何将PHP变量传递给Javascript?”。我见过的最好的方法是在DOM中使用“数据元素”

将其添加到
file1.php
(逻辑化)


假设您的AJAX位于file1.php中,您可以这样做:

file1.php

<?php
    $user_rank = $rank;
?>
<?php
    $user_rank = $_GET['user_rank'];
?>
<?php
    $user_rank = $rank;
?>

<script>
    function getRank()
    {
        $.ajax({
            type: "GET",
            url: "file2.php",
            data: {user_rank: '<?php echo $user_rank; ?>'},
            success: function(result){
                $("#TargetRank").html(result);
            }
        });         
    }
</script>

函数getRank()
{
$.ajax({
键入:“获取”,
url:“file2.php”,
数据:{用户排名:''},
成功:功能(结果){
$(“#TargetRank”).html(结果);
}
});         
}
  • 在file1.php上,将变量输出为JSON(请参阅)

  • 然后在JavaScript上执行ajax调用,将变量读取到对象(我们称之为数据)

  • 然后调用,将数据变量放置在您拥有的位置

  • 例如:

    index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
        <script>
    
        $(function(){
            $.getJSON( "http://dev/json.php", function( data ) {
                $.ajax({
                    type:'GET',
                    url:'json2.php',
                    data: data,
                    success: function(data){
                        console.log(data);
                    }
                });
            });
        });
        </script>
    </head>
    <body>
        <div id="content"></div>
    </body>
    </html>
    
    
    文件
    $(函数(){
    $.getJSON(“http://dev/json.php,函数(数据){
    $.ajax({
    类型:'GET',
    url:'json2.php',
    数据:数据,
    成功:功能(数据){
    控制台日志(数据);
    }
    });
    });
    });
    
    json.php

    <?php
    header('Content-Type: application/json');
    echo '{"name":"Telmo Dias"}';
    
    
    

    结果:

    您可以轻松地联系一个PHP文件(甚至只需使用
    include
    ),并在收到响应后>将该响应发送到PHP文件2(逻辑上总共使用3个文件)谢谢,更改为:)。谢谢。它几乎可以工作,但与您的代码无关。我用onChange同时调用两个函数。第一个函数创建变量$user_rank,第二个函数创建变量getRank()。问题是在调用函数两次后,页面上会显示user_rank的值。你知道问题是什么吗?哪个函数被调用了两次:)?嗨,凯文,它没有调用两次。当我第一次使用下拉列表时(程序没有显示任何内容。当我再次使用时,他显示了用户之前的排名…aaaaa和AJAX是file3?您只需发送一个GET到file1,等待原始响应,成功后将数据传输到file2.php(甚至等待成功响应).php
    包含
    file1并将变量放入JS.Send to file2并等待成功。
    <?php print_r($_GET); ?>