重复的功能导致Modal标头

时间:2016-06-18 08:08:49

标签: javascript php jquery ajax

我在Modal的标题和正文中调用两个单独的函数。函数基于来自ajax的产品ID进行调用。这两个函数都在Cart_code.php中定义。

现在问题是应该在body中显示的函数也显示在modal的标题中。 我想在标题和正文等相关部分中单独显示这两个函数。

的JavaScript

<script type="text/javascript">

    $(document).ready(function(){
            $.ajax({
                type: "POST",
                url: "Cart.php",
                data: {"ID":id},
                success: function(result){
                    $('#ajaxResult').html(result);

                }
            });
        });
</script>

Cart.php

include('includes/Cart_code.php');

    <?php

    if (isset($_POST['ID'])) {
        $cart_class = new cart_class($_POST['ID']);
        $cart_class->cart_head_info_print();
        $cart_class->cart_body_info_print();
        exit();
       }
    ?>

      <!-- Modal -->
      <div class="modal fade" id="myModal" role="dialog">
        <div class="modal-dialog">

          <!-- Modal content-->
          <div class="modal-content">
          <img src="" class="showPic">
            <div id="ajaxResult">
            <div class="modal-header" style="padding:35px 50px;">

              <button type="button" class="close" data-dismiss="modal">&times;</button>  
              <!---HERE HEADER DATA WILL BE DISPLAY---->

            </div>
            <div class="modal-body" style="padding:40px 50px;">
                <!---HERE BODY DATA WILL BE DISPLAY---->
            </div>
           </div>
        </div>
      </div> 
    </div>

1 个答案:

答案 0 :(得分:2)

行。
基本原则在这里 - 这是AJAX使用的常见问题 -

通常情况下,您应该有一个页面,其中包含一个调用另一个页面的脚本,以根据用户输入更新部分。

创建主页。

然后,根据任何输入,调用另一个脚本来更新该主页的一部分。

您应该调用脚本来生成页面的一小部分 这个“结果”将以您主页的div结尾。

Ajax的强大之处在于更新页面的一部分而无需完全重新加载页面。

这张图片是用法语写的...但是在英文中找不到这样的东西(!)

enter image description here

1- Javascript动作(用户输入)
2- Ajax请求
3-服务器端执行
4-结果(ajax成功)
5-主页面中的元素已更新为结果。

<小时/> 将蓝色«navigateur»square视为从服务器初始加载的网页(x.php)
然后,在客户端(蓝色方面)...通过用户操作触发或不触发,jQuery或JavaScript将页面调用到服务器(绿色方 - > y.php)以更新特定元素(通常为{{1页面。

这是用户很久以前在他眼前的相同页面(可能只有几秒钟!)并且已经完全加载了脚本库和css规则。

«result»应该只提供新的HTML(以及额外的js脚本,如果需要)来填充Ajax«success»回调所针对的主页面目标元素...它只是原始页面的一部分,没有重新加载或更改。