0

这是一个使用单个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:为两个“Bad Example”发布变量都工作正常。


注意:下面的图片不是来自上面的代码,只是我所说的“内容重复自身”的一个例子。

前

后


问题:我可以知道我应该把我的第二个jQuery.ajax函数放在哪里并isset()检查 POST 变量,这样两个jQuery.ajax函数都可以正常工作并且不会相互冲突吗?

4

2 回答 2

0

您不必将 bingo 函数传递给文档就绪函数。尝试

$(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
于 2012-06-28T04:33:31.847 回答
0

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

示例示例

JavaScript 函数内部

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

检查 POST 变量 varB

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

我将这个问题留给社区来解决如何jQuery.ajax在同一页面中正确嵌套使用 2 个或更多。

于 2012-06-28T17:19:52.213 回答