我已经使用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);
}
}
我希望视频不会重新加载。