如何在Yii中使用图像进行ajax请求

时间:2014-06-25 18:50:05

标签: php ajax yii

我正在尝试使用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>";
}

我试图找到一些可以为我做的小部件,但我找不到。我会嘲笑一些提示,链接,想法。 非常感谢你们。

1 个答案:

答案 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并打印图像