Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax成功后的divid刷新_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript ajax成功后的divid刷新

Javascript ajax成功后的divid刷新,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我在index.php有一个div,我想在ajax调用成功时刷新它。我试过这个。但除非我刷新整个页面,否则它不会刷新div。 这是代码 Div <div id="cartContainer"> <div id="cart"> <li style="color: #515151"> <img id="cart_img" src="images/cart.png"> Cart <span class

我在
index.php
有一个div,我想在ajax调用成功时刷新它。我试过这个。但除非我刷新整个页面,否则它不会刷新div。 这是代码

Div

<div id="cartContainer">
    <div id="cart">
        <li style="color: #515151">
            <img id="cart_img" src="images/cart.png"> Cart <span class='badge' id='comparison-count'>
      <?php
      if(isset($_SESSION['cart'])&& !empty($_SESSION['cart']))
      {
        $cart_count=count($_SESSION['cart']);
        echo $cart_count;
      } else {
        $cart_count=0;
        echo $cart_count;
      }
        ?>
      </span>
        </li>
        <div id="sidebar">
            <?php if(isset($_SESSION[ 'cart'])&& !empty($_SESSION[ 'cart'])){ ?>
            <table id="s_table">
                <?php foreach($_SESSION[ 'cart'] as $id=> $value){ ?>
                <form class="product" method="get" action="index.php?">
                    <tr id="tr_s">

                        <input type="hidden" name="action" value="remove">
                        <input type="hidden" name="id" value="<?php echo $value['id'] ?>">
                        <td class="s_th">
                            <?php echo $value[ 'name']; ?>
                            <input type="hidden" name="name" value="<?php echo $value['name'] ?>">
                        </td>
                        <td class="s_th">
                            <?php echo $value[ 'quantity'] ?>
                            <input type="hidden" name="quantity" value="<?php echo $value['quantity'] ?>">
                        </td>
                        <td class="s_th">
                            <?php echo $value[ 'color']; ?>
                            <input type="hidden" name="color" value="<?php echo $value['color'] ?>">
                        </td>
                        <td class="s_th">
                            <?php echo $value[ 'size'] ?>
                            <input type="hidden" name="size" value="<?php echo $value['size'] ?>">
                        </td>

                        <td>
                            <button type="submit" id="btn_submit">Remove</button>
                        </td>
                    </tr>
                </form>
                <?php } ?>
                <tr>
                    <td class="cart_btn" colspan="2"><a href="index.php?page=cart" style="">GO TO CART</a>
                    </td>
                    <td class="cart_btn" colspan="2"><a href="index.php?page=checkout">CHECK OUT</a>
                    </td>
                </tr>
            </table>
            <?php } else { ?>
            <p id="p_s"><i> "Your Cart is Empty"</i>
            </p>
            <?php } ?>
        </div>
    </div>
</div>

  • 运货马车

  • 如果要使用AJAX的返回更新
    div
    ,可以执行以下操作:

     $.post('add_cart.php', post_data, function(response) {
         $("#cartContainer").html(response);
     }
    

    当然,这取决于很多事情:返回的数据类型、希望更新的内容等。从您发布的内容很难判断您的意图。

    您返回的是
    响应
    ,但没有使用它来更新div。@JayBlanchard如何解决此问题?您没有提供
    .load()
    的url,这没什么意义。@MarcB我只想刷新整个div。正如您看到的,它们的is count()函数应该在ajax调用成功后立即更新。我不想在我的div中将响应替换为html。我只想刷新整个div。正如您看到的,它们的is
    count()
    中的
    函数,ajax调用成功后应立即更新该函数。然后,您的编码将变得更加复杂,这不是您最初提出的问题。
     $.post('add_cart.php', post_data, function(response) {
         $("#cartContainer").html(response);
     }