如何避免在PHP中使用Ajax进行“视频刷新”

时间:2019-05-28 05:41:37

标签: php jquery json ajax html5-video

我已经使用ajax在php(codeigniter)中创建了一个带有文本,图像和视频上传选项的基本聊天应用程序,我每2秒通过json格式的ajax获取聊天数据。

问题仅在于视频“当我单击播放视频时,它将仅播放2秒钟,也将在2秒后重新加载(刷新)视频”。但我不想重新加载视频。

我将通过删除以下代码来解决此问题

setInterval(function(){get_chat_data()}, 2000)

但是我不想删除此代码。这是我的脚本和php代码

function get_chat_data(refresh)
  { 
    jQuery.ajax({ 
      data:{ get_data: 1, chat_id: $("#chat_id").val()},
      type: 'POST',
      dataType: 'JSON',
      url: '<?php echo base_url(); ?>mychat_session/get_chat_data', 
      success:function(data){
        $("#mgs_dynamic_block").html(data);  
        }, 
      });  
 }
 setInterval(function(){get_chat_data()}, 2000)

这是我的php代码的一部分

$get_chat_data = $this->Chat_modelM->get_chat_data();
 foreach ($get_chat_data as $chat_data) 
 {
     $message = $chat_data['chat_message']; 
     $type = $chat_data['type'];
     if($type=='video'){
     $message = base_url('uploads/chat_uploads/').$message;
     $json_all_data[] ='<video controls><source src="'.$message.'" type="video/mp4"> 
                        </video> <hr> ';
     }elseif($type=='image'){
       $message = base_url('uploads/chat_uploads/').$message;
       $json_all_data[] ='<a href="'.$message.'" target="_blank" style="display: block;">Open File</a> <hr> ';
     }else{
       $json_all_data[] ='<p class="mgs_message">'.$message.'</p><hr> '; 
     }

     if(empty($json_all_data)) {
        echo json_encode('<p class="no_mgs">No messages to display.</p>'); 
     }else{
       echo json_encode($json_all_data); 
     } 
 }

我希望视频不会重新加载。

0 个答案:

没有答案