Roman
Tim
ребят почему пост запрос возвращает ответ после удачного сохранения как get. перебрасывает на пустую страницу с true.
Vano
потому что ты return true выполняешь
Павел
Vano
в 78 строке
Vano
логично же
Tim
дак это не json ответ
Tim
а пустая страница с тру)
Максим
а пустая страница с тру)
return $model->save() и возвращает тру, без вьюх
Максим
потому и пустая
Павел
Это return $model->save()
Павел
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
Зачем явно указывать формат ответа, есть же ContentNegotiator
потому что если это не пост запрос должна вернуться вьюха
Tim
нифига не понимаю. мож в хедере чего не хватает. почему на другую страницу перебрасывает
R
кстати, у меня что-то подобное было, когда у меня апач редиректил с «» на «/»
Павел
На какую другую?
Максим
потому что если это не пост запрос должна вернуться вьюха
нет, если не загрузился пост запрос в модель, должна вернуться вьюха, у тебя неправильное условие
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
если произошел редирект в ajax запросе, то редиректится вся страница
Максим
ок. куда смотреть - понял -щас буду думать.
есть плагин аякс сабмит кнопка для Yii2 (demogorgorn/yii2-ajax-submit-button), еще как вариант можно перехватить сабмит в JS, и там отправить форму аяксом, получить нужный ответ и обработать его как надо
Alexey
https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.js#L355
Tim
вот в дебагере. да просто пост запрос.
R
а нафига ты валидацию таким образом делаешь? она же вызывается при сохранении
R
ну да, но это и без того работает
Alexey
x-redirect кудато уводит?
если сделать return $this->redirect() то этот хедер вроде шлется
Tim
ну да, но это и без того работает
без валидатора о том что поле не правильно заполнено чел узнает только после сабмита.
R
есть же встроенные валидаторы
Tim
есть же встроенные валидаторы
и как например ты уникальность почтового ящика ими проверишь?)
R
есть же такой валидатор
Tim
или задолженость клиента)
R
unique вроде
R
все это есть
Tim
unique вроде
и как по твоему он работает на стороне клиента в реальном времени?) все ящики в базе при открытии страницы подгружаются?)
R
он сам ajax вроде отправляет, то есть ничего дополнительно не нужно писать
R
достаточно rules грамотно прописать
Tim
дак я и не писал) я просто включил свойство аякс валидацию 'enableAjaxValidation' => true, 'enableClientScript' => true,