php - Yii2 ajax 调用后渲染图像
问题描述
所以基本上我有一个处理文件(图像和视频)的控制器,在“视图”视图上我有一个称为“视图内容”的按钮。该按钮正在使用控制器,我希望它在按下时运行对操作的 AJAX 调用并在位于模型中的图像中actionContent($id)
呈现页面内。如何处理 AJAX 请求并返回显示在?div
id == $id
div
public function actionContent($id)
{
$model = $this->findModel($id);
switch (substr($model->mime, 0, strpos($model->mime, '/'))) {
case 'image' :
return $this->renderAjax('_image', [
'img' => $model->getFullPath(),
]);
break;
default:
break;
}
}
和观点:
<span class="pull-right">
<?= Html::a('View Content', ['content', 'id' => $model->id], [
'class' => 'btn btn-default',
'id' => 'content'
]); ?>
</span>
使用我已经尝试过的脚本:
$(document).ready(function () {
$('#content').click(function () {
$(this).preventDefault();
$.ajax({
type: "GET",
url: $(this).href,
contentType: "<?= $model->mime?>",
success: function (response) {
('.show-content').html('<img src="data:image/png;base64,' + response + '" />');
}
})
})
})
解决方案
推荐阅读
- java - BigQuery API Java 客户端库不支持“JobConfigurationLoad.decimalTargetTypes”?
- python - 具有两个目标 Python 的特征选择
- reactjs - 如何使用 okta idp 启动登录成功登录到应用程序
- java - 区分 *.zip 文件和压缩容器文件
- javascript - 向下滚动在 ReactJs 中提交
- python - 在列表中,有没有办法定义未定义的变量?
- azure - 我可以多次(一次一个)启用 Azure Cosmos DB 免费层吗?
- semantic-ui - 语义 UI:无法通过可搜索的下拉菜单“选项卡”
- c++ - 使用 join 无限运行 2 个线程
- javascript - JavaScript HTML 验证功能仅在表单元素全部填满时有效