Всем привет.
Пытаюсь реализовать динамику в yii2.
Выделил нужный блок формы в pjax.
Создал кнопку и событие для нее.
А вот ajax запрос что то не получается.
<?php
$js = "$('#btn_add').on('click', function () {
$.ajax({
url: ,
type: 'POST',
data: $action='two',
success: function(response) {
$.pjax.reload({container: '#pjax-form1'});
}
});
return false;
})";
$this->registerJs($js);
Какой url нужно прописать, чтобы отправить данные в контроллер ? Создал в нем action для обработки динамики, сам файл представления не создавал. И как потом вернуть результат ?
_
Внес такие изменения:
скрипт
<?php
$js = "$('#btn_add').on('click', function () {
$.ajax({
url: '/trip/add',
type: 'POST',
dataType: 'json',
data: { 'action' : 'two' },
success: function(response) {
$.pjax.reload({container: '#pjax-form1'});
},
error: function(){
alert('error')
}
});
return false;
})";
$this->registerJs($js);
контроллер
public function actionAdd()
{
$count = $_POST['action'];
if ($count == 'two') $c = 2; else $c = 1;
$modelCouples = [new Couple()];
for ($i = 1; $i < $c; $i++) {
$modelCouples[] = new Couple();
}
$res = Yii::$app->getResponse();
$res->format = Response::FORMAT_JSON;
$res->data = $modelCouples;
$res->send();
}
Выдает ошибку Internal Server Error, ajax запрос не выполняется, вылазит "error"