Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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
Php 在成功调用ajax重新加载div后,我的外部JavaScript文件停止工作_Php_Html_Jquery - Fatal编程技术网

Php 在成功调用ajax重新加载div后,我的外部JavaScript文件停止工作

Php 在成功调用ajax重新加载div后,我的外部JavaScript文件停止工作,php,html,jquery,Php,Html,Jquery,我正在使用Ajax、jQuery、PHP和MySQLi构建一个简单的聊天系统 在聊天页面上,jQueryPostRequest被设置为处理用户发送的消息。 现在的问题是,当我向用户发送消息时,消息将成功发送,在尝试更新div(聊天消息)时,索引页中的一些外部包含的js文件将停止工作。请参见下面的jQuery代码: $(function(){ $("#send-msgs").click(function(e){ /* Auto Detect A Link (START)*/ // Get t

我正在使用Ajax、jQuery、PHP和MySQLi构建一个简单的聊天系统

在聊天页面上,jQueryPostRequest被设置为处理用户发送的消息。 现在的问题是,当我向用户发送消息时,消息将成功发送,在尝试更新div(聊天消息)时,索引页中的一些外部包含的js文件将停止工作。请参见下面的jQuery代码:

$(function(){
$("#send-msgs").click(function(e){

/* Auto Detect A Link  (START)*/

// Get the content
var output = $("#message").val();
var chat_id = $("#chat_id").val();
e.preventDefault();

//Start Post Request
$.ajax({
    type: "POST",
    url: "post_message.php",
    data: "message_text="+output+"&chat_id="+chat_id,
    cache: false,
    beforeSend: function(){
        //Show Events before sending request
        $(".chat-main .active .details h6").html("<span class='text-primary'>You: </span><span class='text-secondary'>Sending...");
        $(".chat-main .active .date-status h6#time_status").html("--:-- --");
        $(".chat-main .active .date-status h6#msg_status").html("<span title='Sending...' class='fa fa-ellipsis-h'></span>");
        $("#setemoj").attr({
            "disabled" : "disabled",
        });
        $("#send-msg").attr({
            "disabled" : "disabled",
        });
    },
    //If everything looks right, continue
    success: function(response){
        $.ajax({
            type: "POST",
            url: "only_load_chat.php",
            data: "phone_number=<?php echo @$phone_number1;?>&chat_id="+chat_id,
            cache: false,
            success: function(response){
                // alert(response);
                var current_time = $("#js_current_time").val();
                var msg = $("#setemoj").val();
                $(".chat-main .active .details h6").html("<span class='text-primary'><b>You:</b> </span><span class='text-secondary'>"+output+"</span>");
                $(".chat-main .active .date-status h6#time_status").html(current_time);
                $(".chat-main .active .date-status h6#msg_status").html("<span title='Seen'><span title='Sent' class='fa fa-check text-primary'></span></span>");
                // $(".chat-main .active .details .date-status h6").html(js_current_time);
                $("#fetch_chat").html(response);
                document.getElementById("setemoj").removeAttribute("disabled");
                document.getElementById("setemoj").value = "";
            },
        })
    }
});
});
仅\u load\u chat.php

 <?php

if($_SERVER['REQUEST_METHOD'] == "POST"){
    session_start();
    require "./includes/db-config.php";
    require "./includes/check_if_login.php";
    require "./includes/SaNiTiZer.php";
    require "./includes/settings.php";
    require "./includes/function.php";

$phone_number1 = $_REQUEST['phone_number'];
$main_chat_id = $_REQUEST['chat_id'];
?>

                    <!--<script src="./assets/js/owl.carousel.js"></script>-->
                    <!--<script src="./assets/js/tippy-bundle.iife.min.js"></script>-->
                    <!--<script src="./assets/js/bootstrap.js"></script>-->
                    <!--<script src="./assets/js/switchery.js"></script>-->
                    <!-- <script src="./assets/js/easytimer.min.js"></script> -->
                    <!-- <script src="./assets/js/index.js"></script> -->
                    <!-- <script src="./assets/js/popper.min.js"></script> -->
                    <!-- <script src="./assets/js/feather-icon/feather.min.js"></script>-->
                    <!-- <script src="./assets/js/feather-icon/feather-icon.js"></script>-->
                    <!-- <script src="./assets/js/zoom-gallery.js"></script> -->
                    <!-- <script src="./assets/js/script.js"></script> -->

                    <ul class="chatappend">
    <?php

        $sql = mysqli_prepare($conn, "SELECT * from direct_chats_msg where chat_id=?");
        mysqli_stmt_bind_param($sql, 'i', $main_chat_id);
        mysqli_stmt_execute($sql);

        $get_result = mysqli_stmt_get_result($sql);
        if(mysqli_num_rows($get_result)>0){
            while($row2 = mysqli_fetch_array($get_result)){
                $sender = $row2['user_id'];

                $sql2 = mysqli_prepare($conn, "SELECT id, userID, FirstName, LastName, OtherName, DisplayName, reg_date, 
                about_text, profile_pic, gender, countryCode, phone_number, `address`, `state`, country, website, is_online from accounts where id=?");
                mysqli_stmt_bind_param($sql2, 'i', $sender);
                mysqli_stmt_execute($sql2);

                $get_result2 = mysqli_stmt_get_result($sql2);
                    $row4 = mysqli_fetch_array($get_result2);
                    $chat_msg_id = $row2['dcm_id'];
            ?>
                    <li style="margin:15px;" class="<?php if($row2['user_id']==$user_id){echo"replies";}else{echo"sent";}?>">
                        <div class="media">
                            <div class="profile mr-4"><img class="bg-img" src="./assets/images/avtar/new/<?php echo $row4['profile_pic'];?>" alt="<?php echo $row4['LastName']." ".$row4['FirstName'];?>" /></div>
                            <div class="media-body">
                                <div class="contact-name">
                                    <!-- <h5><?php echo $row4['LastName']." ".$row4['FirstName'];?></h5> -->
                                    <h6><?php echo date("h:i:s A", strtotime($row2['chat_time']));?></h6>
                                    <ul class="msg-box">
                                        <li class="msg-setting-main">
                                            <div class="msg-dropdown-main">
                                                <div class="msg-setting"><i class="fa fa-ellipsis-h"></i></div>
                                                <div class="msg-dropdown" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);margin-top:-15px;margin-left:-100px;">
                                                    <ul>
                                                        <li><a href="#"><i class="fa fa-share"></i>forward</a></li>
                                                        <li><a href="#"><i class="fa fa-clone"></i>copy</a></li>
                                                        <li><a href="#"><i class="fa fa-star-o"></i>rating</a></li>
                                                        <li><a href="#"><i class="ti-trash"></i>delete</a></li>
                                                    </ul>
                                                </div>
                                            </div>

                                            <h5 class="msg-content" id="msg-content<?php echo $row2['dcm_id'];?>" style="<?php if($row2['user_id']==$user_id){echo"background-color:#1c9dea;color:#ffffff;padding:7px;";}else{echo"background-color:#e5edf5;color:#000;padding:7px;";}?>">
                                            <?php echo htmlspecialchars_decode($row2['message']);?><br/>
                                            </h5>
                                        </li>
                                        <div id="link_title<?php echo $chat_msg_id;?>"></div>
                                            <!--</li>-->

                                            <style>
                                                .custom_emoji {
                                                    width: 20px;
                                                    height: 20px;
                                                    background-origin: content-box;
                                                    color: transparent;
                                                    text-align: center;
                                                    padding: 3px;
                                                }

                                                .msg-content a {
                                                    color: #FF9800;
                                                    text-decoration: none;
                                                    border-bottom: 1px dotted #000;
                                                }
                                                .msg-content a:hover { color: #ffffff; }
                                            </style>
                                        </li>

                                        <!-- <script>
                                            function newMesssage() {
                                                    var message = $('.message-input input').val();
                                                    if($.trim(message) == '') {
                                                        return false;
                                                    }
                                                    // var today = new Date(),
                                                    //     h = checkTime(today.getHours()),
                                                    //     m = checkTime(today.getMinutes()),
                                                    //     s = checkTime(today.getSeconds());
                                                    // document.getElementById('cur_time').innerHTML = h + ":" + m + ":" + s;

                                                    var current_time = $("#js_current_time").val();
                                                    $('<li class="replies" style="margin:15px;">\
                                                    <div class="media"> \
                                                    <div class="profile mr-4 bg-size" style="background-image: \
                                                    url(&quot;./assets/images/avtar/new/<?php // echo $profile_pic;?>&quot;); background-size: \
                                                    cover; background-position: center center;"></div>\<div class="media-body">\
                                                    <div class="contact-name"> <h5>  </h5> <h6 id="cur_time">'+current_time+'</h6> \
                                                    <ul class="msg-box"> <li> <h5 style=background-color:#1c9dea;color:#ffffff;padding:7px;>\
                                                    ' + message + '</h5> </li></ul> </div></div></div></li>').appendTo($('.messages .chatappend'));
                                                    $('.message-input input').val(null);
                                                    $('.chat-main .active .details h6').html('<span>You: </span>' + message);
                                                    $(".messages").animate({ scrollTop: $(document).height() }, "fast");
                                                };

                                        </script> -->
                                    </ul>
                                </div>
                            </div>
                        </div>
                    </li>
                    <?php require "./includes/current_user_chat_profile(right_sidebar).php";?>
            <?php
            }
            ?>
                </ul>

            <?php
    } else {?>
    <!-- node.js -->
            <?php require "./includes/current_user_chat_profile(right_sidebar).php";?>

            <script src="./assets/js/owl.carousel.js"></script>
            <script src="./assets/js/popper.min.js"></script>
            <script src="./assets/js/tippy-bundle.iife.min.js"></script>
            <script src="./assets/js/bootstrap.js"></script>
            <script src="./assets/js/switchery.js"></script>
            <script src="./assets/js/easytimer.min.js"></script>
            <script src="./assets/js/index.js"></script>
            <script src="./assets/js/feather-icon/feather.min.js"></script>
            <script src="./assets/js/feather-icon/feather-icon.js"></script>
            <script src="./assets/js/zoom-gallery.js"></script>
            <script src="./assets/js/script.js"></script>
    <?php
    }
 } else {
        require "./includes/error.php";
     }
//  } else {
//     require "./includes/error.php";
// }
?>

    " />

      您的
      only\u load\u chat
      应该只加载获取聊天响应所需的HTML,而不加载其他内容。任何
      脚本
      都应该已经加载到主页中。“javascript文件不工作”的问题很可能被改写为“来自外部文件不工作的事件”“-这可能是因为您正在覆盖/重新创建应用这些事件的HTML。尝试将所有事件更改为事件委派-而不是
      $(“#fetch_chat”)。单击(function(){…
      更改为
      $(document)。在(“click”、“#fetch_chat”上,function(){…
      @freedomn-m感谢您的帮助。我使用
      $(document)尝试了您所说的内容。在(“click”、“#fetch_chat”上,function()){…
      但它仍然不起作用。你的
      仅加载聊天
      应该只加载获取聊天响应所需的HTML,而不加载其他内容。任何
      脚本
      都应该已经加载到主页面中。“javascript文件不起作用”的问题很可能被改写为“来自外部文件的事件不起作用”-这可能是因为您正在覆盖/重新创建这些事件应用的HTML。尝试将所有事件更改为事件委派-而不是
      $(“#fetch_chat”)。单击(function(){…
      更改为
      $(文档)。在(“click”,“#fetch_chat”,function()){…
      @freedomn-m感谢您的帮助。我使用
      $(文档)尝试了您所说的内容。在(“单击”,“获取”聊天)上,函数(){…
      ,但它仍然不起作用。
       <?php
      
      if($_SERVER['REQUEST_METHOD'] == "POST"){
          session_start();
          require "./includes/db-config.php";
          require "./includes/check_if_login.php";
          require "./includes/SaNiTiZer.php";
          require "./includes/settings.php";
          require "./includes/function.php";
      
      $phone_number1 = $_REQUEST['phone_number'];
      $main_chat_id = $_REQUEST['chat_id'];
      ?>
      
                          <!--<script src="./assets/js/owl.carousel.js"></script>-->
                          <!--<script src="./assets/js/tippy-bundle.iife.min.js"></script>-->
                          <!--<script src="./assets/js/bootstrap.js"></script>-->
                          <!--<script src="./assets/js/switchery.js"></script>-->
                          <!-- <script src="./assets/js/easytimer.min.js"></script> -->
                          <!-- <script src="./assets/js/index.js"></script> -->
                          <!-- <script src="./assets/js/popper.min.js"></script> -->
                          <!-- <script src="./assets/js/feather-icon/feather.min.js"></script>-->
                          <!-- <script src="./assets/js/feather-icon/feather-icon.js"></script>-->
                          <!-- <script src="./assets/js/zoom-gallery.js"></script> -->
                          <!-- <script src="./assets/js/script.js"></script> -->
      
                          <ul class="chatappend">
          <?php
      
              $sql = mysqli_prepare($conn, "SELECT * from direct_chats_msg where chat_id=?");
              mysqli_stmt_bind_param($sql, 'i', $main_chat_id);
              mysqli_stmt_execute($sql);
      
              $get_result = mysqli_stmt_get_result($sql);
              if(mysqli_num_rows($get_result)>0){
                  while($row2 = mysqli_fetch_array($get_result)){
                      $sender = $row2['user_id'];
      
                      $sql2 = mysqli_prepare($conn, "SELECT id, userID, FirstName, LastName, OtherName, DisplayName, reg_date, 
                      about_text, profile_pic, gender, countryCode, phone_number, `address`, `state`, country, website, is_online from accounts where id=?");
                      mysqli_stmt_bind_param($sql2, 'i', $sender);
                      mysqli_stmt_execute($sql2);
      
                      $get_result2 = mysqli_stmt_get_result($sql2);
                          $row4 = mysqli_fetch_array($get_result2);
                          $chat_msg_id = $row2['dcm_id'];
                  ?>
                          <li style="margin:15px;" class="<?php if($row2['user_id']==$user_id){echo"replies";}else{echo"sent";}?>">
                              <div class="media">
                                  <div class="profile mr-4"><img class="bg-img" src="./assets/images/avtar/new/<?php echo $row4['profile_pic'];?>" alt="<?php echo $row4['LastName']." ".$row4['FirstName'];?>" /></div>
                                  <div class="media-body">
                                      <div class="contact-name">
                                          <!-- <h5><?php echo $row4['LastName']." ".$row4['FirstName'];?></h5> -->
                                          <h6><?php echo date("h:i:s A", strtotime($row2['chat_time']));?></h6>
                                          <ul class="msg-box">
                                              <li class="msg-setting-main">
                                                  <div class="msg-dropdown-main">
                                                      <div class="msg-setting"><i class="fa fa-ellipsis-h"></i></div>
                                                      <div class="msg-dropdown" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);margin-top:-15px;margin-left:-100px;">
                                                          <ul>
                                                              <li><a href="#"><i class="fa fa-share"></i>forward</a></li>
                                                              <li><a href="#"><i class="fa fa-clone"></i>copy</a></li>
                                                              <li><a href="#"><i class="fa fa-star-o"></i>rating</a></li>
                                                              <li><a href="#"><i class="ti-trash"></i>delete</a></li>
                                                          </ul>
                                                      </div>
                                                  </div>
      
                                                  <h5 class="msg-content" id="msg-content<?php echo $row2['dcm_id'];?>" style="<?php if($row2['user_id']==$user_id){echo"background-color:#1c9dea;color:#ffffff;padding:7px;";}else{echo"background-color:#e5edf5;color:#000;padding:7px;";}?>">
                                                  <?php echo htmlspecialchars_decode($row2['message']);?><br/>
                                                  </h5>
                                              </li>
                                              <div id="link_title<?php echo $chat_msg_id;?>"></div>
                                                  <!--</li>-->
      
                                                  <style>
                                                      .custom_emoji {
                                                          width: 20px;
                                                          height: 20px;
                                                          background-origin: content-box;
                                                          color: transparent;
                                                          text-align: center;
                                                          padding: 3px;
                                                      }
      
                                                      .msg-content a {
                                                          color: #FF9800;
                                                          text-decoration: none;
                                                          border-bottom: 1px dotted #000;
                                                      }
                                                      .msg-content a:hover { color: #ffffff; }
                                                  </style>
                                              </li>
      
                                              <!-- <script>
                                                  function newMesssage() {
                                                          var message = $('.message-input input').val();
                                                          if($.trim(message) == '') {
                                                              return false;
                                                          }
                                                          // var today = new Date(),
                                                          //     h = checkTime(today.getHours()),
                                                          //     m = checkTime(today.getMinutes()),
                                                          //     s = checkTime(today.getSeconds());
                                                          // document.getElementById('cur_time').innerHTML = h + ":" + m + ":" + s;
      
                                                          var current_time = $("#js_current_time").val();
                                                          $('<li class="replies" style="margin:15px;">\
                                                          <div class="media"> \
                                                          <div class="profile mr-4 bg-size" style="background-image: \
                                                          url(&quot;./assets/images/avtar/new/<?php // echo $profile_pic;?>&quot;); background-size: \
                                                          cover; background-position: center center;"></div>\<div class="media-body">\
                                                          <div class="contact-name"> <h5>  </h5> <h6 id="cur_time">'+current_time+'</h6> \
                                                          <ul class="msg-box"> <li> <h5 style=background-color:#1c9dea;color:#ffffff;padding:7px;>\
                                                          ' + message + '</h5> </li></ul> </div></div></div></li>').appendTo($('.messages .chatappend'));
                                                          $('.message-input input').val(null);
                                                          $('.chat-main .active .details h6').html('<span>You: </span>' + message);
                                                          $(".messages").animate({ scrollTop: $(document).height() }, "fast");
                                                      };
      
                                              </script> -->
                                          </ul>
                                      </div>
                                  </div>
                              </div>
                          </li>
                          <?php require "./includes/current_user_chat_profile(right_sidebar).php";?>
                  <?php
                  }
                  ?>
                      </ul>
      
                  <?php
          } else {?>
          <!-- node.js -->
                  <?php require "./includes/current_user_chat_profile(right_sidebar).php";?>
      
                  <script src="./assets/js/owl.carousel.js"></script>
                  <script src="./assets/js/popper.min.js"></script>
                  <script src="./assets/js/tippy-bundle.iife.min.js"></script>
                  <script src="./assets/js/bootstrap.js"></script>
                  <script src="./assets/js/switchery.js"></script>
                  <script src="./assets/js/easytimer.min.js"></script>
                  <script src="./assets/js/index.js"></script>
                  <script src="./assets/js/feather-icon/feather.min.js"></script>
                  <script src="./assets/js/feather-icon/feather-icon.js"></script>
                  <script src="./assets/js/zoom-gallery.js"></script>
                  <script src="./assets/js/script.js"></script>
          <?php
          }
       } else {
              require "./includes/error.php";
           }
      //  } else {
      //     require "./includes/error.php";
      // }
      ?>