我正在尝试使用Yii中的图像制作AJAX请求和响应,我甚至不知道从哪里开始。我设法使用文件名的db请求显示images文件夹中的图像。我想这样做的时候,当我点击一个图像时,它会向服务器发送请求,并用另外的图片从db中更新我的div。
我得到的是控制器:
$modelCars = EeCarTypes::model()->findAll();
$this->render('index',array(
'model'=>$modelCars,
));
并查看:
$uploadUrl = Yii::app()->request->getBaseUrl(true) . '/images/upload/cartypes/';
foreach( $model as $key => $item )
{
$imgName = $model[$key]->attributes['car_type'];
$imgID = $model[$key]->attributes['id'];
$imgFullUrl = $uploadUrl . $imgName;
echo "<a href=\"$imgID\"><img src=\"$imgFullUrl\" alt=\"$imgName\"></a>";
}
我试图找到一些可以为我做的小部件,但我找不到。我会嘲笑一些提示,链接,想法。 非常感谢你们。
答案 0 :(得分:0)
索引视图:
<script>
$('.image').click(function (e) {
$.ajax({
dataType: "html",
data: {primaryKey: "keyImage"}
success: function (data) {
$('#imageContainer').html(data);
}
});
});
</script>
控制器:
function actionIndex()
{
if (Yii::app()->request->isAjaxRequest && Yii::app()->request->getQuery('primaryKey')) {
$model = EeCarTypes::model()->findByPk($_GET['primaryKey']);
echo $this->renderPartial('/view/..', ['model' => $model]);
Yii::app()->end();
}
$this->render('index');
}
查看renderPartial: 获取$ model并打印图像