在哪里放置第二个jQuery.ajax函数和isset()检查POST变量?

时间:2012-06-27 15:44:17

标签: php ajax jquery

这是一个使用单个jQuery.ajax发布到同一页面的页面,并且工作正常。

<?php 
if (!isset($_POST['varA'])) {
?>
<html>
    <head>
        <script type="text/javascript">
            $(document).ready(bingo);

            function bingo()
            {
                jQuery.ajax({
                    type: "POST",
                    data:  {varA: "123"},
                    success: function(data)
                    {
                        $("#test").html(data);
                    }
                });
            }
        </script>
    </head>
    <body>
        <span id="test"></span>
    </body>
</html>
<?php
}
else 
{
    print_r($_POST['varA']);
}
?>

情况:我还想使用另一个单独的jQuery.ajax设置另一个变量。但是,当我完全按照这样的方式放置页面内容时,我的页面内容会重复。

错误示例(描述我正在尝试做的事情)

<?php 
    if (!isset($_POST['varA'])) {
    ?>
    <html>
        <head>
            <script type="text/javascript">
                $(document).ready(bingo);

                function bingo()
                {
                    jQuery.ajax({
                        type: "POST",
                        data:  {varA: "123"},
                        success: function(data)
                        {
                            $("#test").html(data);
                        }
                    });
                }

                function buttony() //added 2nd independent jQuery.ajax function
                {
                    jQuery.ajax({
                        type: "POST",
                        data: {varB: "456"},
                        success: function(data)
                        {
                            $("#test2").html(data);
                        }
                    });
                }
            </script>
        </head>
        <body>
            <span id="test"></span>
            <span id="test2"</span> //added 2nd span
            <input type="button" value="Clicky" onclick="buttony()"/> //added
        </body>
    </html>
    <?php
    }
    else 
    {
        print_r($_POST['varA']);
    }

    if(isset($_POST['varB'])) //added isset() checking
    {
        print_r($_POST['varB']);
        echo 'varB Okay';
    }
    else
    {
        echo 'varB Not';
    }
?>

其他信息:发布“错误示例”jQuery.ajax的变量工作正常。


注意:以下图片不是上述代码,只是“内容重复本身”的含义示例。

之前

Before

After


问题:我可以知道我应该在哪里放置我的第二个jQuery.ajax函数和isset()检查POST变量,以便同时jQuery.ajax函数将正常工作,不会相互冲突吗?

2 个答案:

答案 0 :(得分:0)

您不必将文件就绪功能传递给宾果游戏功能。尝试

$(document).ready(function() {

            function bingo()
            {
                jQuery.ajax({
                    type: "POST",
                    data:  {varA: "123"},
                    success: function(data)
                    {
                        $("#test").html(data);
                    }
                });
            }

            bingo();

            function buttony() //added 2nd independent jQuery.ajax function
            {
                jQuery.ajax({
                    type: "POST",
                    data: {varB: "456"},
                    success: function(data)
                    {
                        $("#test2").html(data);
                    }
                });
            }

            buttony();

}); //end document ready

答案 1 :(得分:0)

我使用window.location替换了第二个jQuery.ajax的使用以避免复杂化。

示例

内部JavaScript函数

window.location = "samePage.php?varB=abc";

检查POST变量varB

if(isset($_REQUEST['varB'])
{
    $getValue = $_REQUEST['varB'];
}

我要打开社区的问题,解决如何在同一页面中使用2个或更多jQuery.ajax进行正确嵌套的问题。