jQuery.ajax - 将数据发布回同一页后重复内容

时间:2012-06-15 09:01:36

标签: php javascript jquery

问题1:在使用jQuery.ajax()将一些数据发回同一页面后,我的内容重叠了两次。我将数据发布回同一页面的原因是因为我需要将我的JavaScript值传递给PHP端。

问题:如何编辑我的代码,以便在将数据发布到同一页面之前和之后只有1份我的内容?

<小时/> 问题2:您可能已经注意到我的宾果游戏功能中有$("#test").html(data);,而我的身体中有<span id="test"></span>。我似乎无法删除它们,如果没有将Javascript值传递给PHP端将无法正常工作,如print_r()所示。

问题:我有什么方法可以删除它们,但仍然使用jQuery.ajax()将我的值从JavaScript传递给PHP?

<小时/> 的 bingo.php

<html>
    <head>
            <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
            <?php
            if (!isset($_POST['varA']) && !isset($_POST['varB']))
            {
            ?>
                <script type="text/javascript">
                $(document).ready(bingo);

                function bingo()
                {
                    jQuery.ajax({
                        type: "POST",
                        data:  {varA: "123", varB: "456"},
                        success: function(data)
                        {
                            alert("POST to self is successful!");
                            $("#test").html(data);
                        }
                    });
                }
                </script>
                <?php
            }
            else
            {
                print_r($_POST['varA']);
                echo " - ";
                print_r($_POST['varB']);
            }
            ?>
    </head>
    <body>
        <input type="text" value="meow"/>
        <span id="test"></span>
    </body>
</html>

2 个答案:

答案 0 :(得分:1)

Omg太乱了!无论如何,请尝试以下代码:

<?php 
if (isset($_POST['varA']) && isset($_POST['varB'])) {
    print_r($_POST['varA']);
    echo " - ";
    print_r($_POST['varB']);
} else {
?>
<html>
    <head>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(bingo);

            function bingo()
            {
                jQuery.ajax({
                    type: "POST",
                    data:  {varA: "123", varB: "456", ajax: true},
                    success: function(data)
                    {
                        alert("POST to self is successful!");
                        $("#test").html(data);
                    }
                });
            }
        </script>
    </head>
    <body>
        <input type="text" value="meow"/>
        <span id="test"></span>
    </body>
</html>
<?php
}
?>

答案 1 :(得分:1)

如果您希望将!保留在您的条件中,您也可以反过来这样做。

<?php 
if (!isset($_POST['varA']) && !isset($_POST['varB'])) {
?>
<html>
    <head>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(bingo);

            function bingo()
            {
                jQuery.ajax({
                    type: "POST",
                    data:  {varA: "123", varB: "456"},
                    success: function(data)
                    {
                        alert("POST to self is successful!");
                        $("#test").html(data);
                    }
                });
            }
        </script>
    </head>
    <body>
        <input type="text" value="meow"/>
        <span id="test"></span>
    </body>
</html>
<?php
}
else {
    print_r($_POST['varA']);
    echo " - ";
    print_r($_POST['varB']);
}
?>