Roman
Tim
ребят почему пост запрос возвращает ответ после удачного сохранения как get. перебрасывает на пустую страницу с true.
Vano
потому что ты return true выполняешь
Павел
Vano
в 78 строке
Vano
логично же
Tim
дак это не json ответ
Tim
а пустая страница с тру)
Максим
потому и пустая
Павел
Это return $model->save()
Павел
R
нужен json ответ что ль?
Tim
Yii::$app->response->format = Response::FORMAT_JSON;
Tim
да))
Tim
что б обработать его в js
Vano
$model->save();
return $model;
Vano
йопть
Tim
а епт.
Виктор
Зачем явно указывать формат ответа, есть же ContentNegotiator
Tim
Tim
Tim
нифига не понимаю. мож в хедере чего не хватает. почему на другую страницу перебрасывает
R
кстати, у меня что-то подобное было, когда у меня апач редиректил с «» на «/»
Павел
На какую другую?
Tim
R
у тебя на этот экшн только ajax запрос падает?
R
хотя не, по коду вроде не так...
R
ну все правильно, у тебя не ajax запрос отдает просто bool
Tim
вот мультик)
R
код поменял?
Tim
R
ну все правильно) теперь у тебя сохраненная модель возвращается
R
ты чего хочешь добиться?
Константин
Как проверить что ['fileName' => $_FILES['Elect']['name']['file'] не пустой?
Tim
почему результаты валидации прилетают как нормальный json от пост запроса а тут пербрасывает н адругую страницу.
Tim
как будто это гет ответ
R
проверь редиректы, еще раз повторяю, у меня такое было, когда апач делал редирект со страницы, заканчивающейся на « », на страницу, заканчивающуюся на «/»
R
то есть отправляешь запрос на один адрес, происходит редирект и тд
Tim
блин в апаче не силен.
R
а как ты форму отправляешь?
Tim
не понял вопрос. ну пост запросом. код выше скидывал
R
не ajax?
Tim
я хз по дефолту как уходит.
Tim
а. ну нет. раз проверку на ajax не проходит
Tim
просто пост запрос.
R
ну тебе нужно сделать if ($model->save()) {return $this->redirect(…)}
R
я не совсем понимаю, чего ты добиться хочешь
Tim
я хочу получить json ответ от пост запроса и обработать его в js
Tim
но меня перебрасывает на другую страницу
R
ну так ты получаешь json, только ты запрашиваешь его не правильно
R
отправляй ajax
Tim
дак это стандартная логика activeform
Tim
она не для этого разве?)
R
у тебя явно уходит обычный post запрос
Tim
ок. куда смотреть - понял -щас буду думать.
Alexey
Alexey
если произошел редирект в ajax запросе, то редиректится вся страница
Максим
ок. куда смотреть - понял -щас буду думать.
есть плагин аякс сабмит кнопка для Yii2 (demogorgorn/yii2-ajax-submit-button), еще как вариант можно перехватить сабмит в JS, и там отправить форму аяксом, получить нужный ответ и обработать его как надо
Alexey
https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.js#L355
Tim
вот в дебагере. да просто пост запрос.
Tim
R
а нафига ты валидацию таким образом делаешь? она же вызывается при сохранении
Tim
Tim
R
ну да, но это и без того работает
R
есть же встроенные валидаторы
Максим
R
есть же такой валидатор
Tim
или задолженость клиента)
R
unique вроде
R
все это есть
Tim
unique вроде
и как по твоему он работает на стороне клиента в реальном времени?) все ящики в базе при открытии страницы подгружаются?)
R
он сам ajax вроде отправляет, то есть ничего дополнительно не нужно писать
R
достаточно rules грамотно прописать
Tim
дак я и не писал) я просто включил свойство аякс валидацию
'enableAjaxValidation' => true,
'enableClientScript' => true,