【问题标题】:How to make ajax requests with images in Yii如何在 Yii 中使用图像发出 ajax 请求
【发布时间】:2014-06-25 18:50:05
【问题描述】:

我正在尝试使用 Yii 中的图像进行 AJAX 请求和响应,但我什至不知道从哪里开始。我设法使用 db 请求文件名来显示图像文件夹中的图像。我想这样做,所以当我点击一张图片时,它会向服务器发送请求,并使用来自 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>";
}

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

【问题讨论】:

  • 行 echo "" 不走剪它。首先弄清楚如何在没有 Yii 的情况下执行此操作,然后更改您的视图以包含此代码。
  • 为了在不重新加载页面的情况下更改图片,您将不得不使用一些 javascript (Ajax),如您所说。所以像这样,单击图像,它调用一个javascript函数,该函数使用Ajax从PHP页面请求新的图像路径(如果需要,PHP页面可以联系数据库)。现在javascript有了新的图片路径,那么就可以用javascript把图片标签的html替换成新的图片路径了。

标签: php ajax yii


【解决方案1】:

索引视图:

    <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 并打印图片

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 1970-01-01
    相关资源
    最近更新 更多