По нажатию кнопки пытаюсь ajax запросом удалить картинку из таблицы ProductImg.
Отправляю айдишник картинки, но он не приходит в контроллер, в debug консоли соответственно выводится "Call to a member function delete() on null". В чем может быть ошибка?
Код представления:
<?php
echo '<div class="row row-eq-height">';
foreach($model->productImgs as $img){
echo '<div class="col-md-4" id="product-img-' . $img->id . '"><div class="product-img__container">'
.Html::img('/images/products/' . $img->alias, ['alt' => '', 'class' => 'img-responsive'])
.'<button onClick="DeleteImg('.$img->id.')" class="btn btn-danger">Удалить</button>'
.'</div></div>';
}
echo '</div>';
?>
JS:
function DeleteImg(id)
{
if (!confirm('Удалить изображение?')) {
return false;
}
$.ajax(
{
dataType: 'html',
url: '/productimg/delimage',
type: "POST",
data: {
id: id
},
success: function (data)
{
$("#product-img-" + id).hide();
},
error : function(jqXHR) {
console.log(jqXHR.responseText);
}
});
}
Код контроллера (сами изображения удаляются в модели в методе beforeDelete() ):
public function actionDelimage(){
$id = Yii::$app->request->post('id');
$model = ProductImg::findOne($id);
$model->delete();
return true;
}