php - 如何在 php 中使用 ajax 避免“视频刷新”
问题描述
我使用 ajax 在 php(codeigniter) 中创建了一个带有文本、图像和视频上传选项的基本聊天应用程序,并且我每 2 秒通过 ajax 以 json 格式获取聊天数据。
问题仅在于视频“当我点击播放视频时,它只会播放 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);
}
}
我希望视频不会重新加载。
解决方案
推荐阅读
- java - WELD-SE + JUnit5 WELD-001409:带有限定符 @Default 的类型验证器的模棱两可的依赖关系
- slack - 如何显示客户端ID等松弛应用信息
- python - Python 2.7 文件"
",第 1 行,在 AttributeError:“列表”对象没有属性“用户名” - python - for 循环考虑一个偶数和一个奇数
- talend - 在 Talend 工具中加载 COPY (Cobol) 文件
- reactjs - 如何在 React 16.4.1 中使用 Leaflet-polylinedecorator
- java - 如何在 Java 中修复 mediawiki-api 上的“错误代码 = mustpostparams”
- delphi - 如何在delphi10中将字符串编码为UTF8?
- laravel - Postgis - 用于任何几何对象的类型
- python - 我正在尝试将列表解析为函数,但该函数仅处理列表中的第一行并忽略其余行