@sanex3339

Yii2. Почему не сохраняется параметр модуля при ajax запросе к экшену контроллера?

У меня появилась проблема - почему не сохраняется параметр модуля при ajax запросе к экшену контроллера этого модуля? При том, что параметр этот я задаю до ajax запроса, вызовом метода основного файла модуля:
class SanexFilter extends \yii\base\Module
{
    public $controllerNamespace = 'sanex\filter\controllers';

    public function init()
    {
        parent::init();
    }

    public function setFilter($filter)
    {
        $this->params['filter'] = $filter;
    	return $this->runAction('filter/set-filter');
    }
}


Далее, когда я делаю ajax запрос в экшн контроллера этого модуля, то params['filter'] пустые. Понятное дело, что при ajax запросе присвоение $this->params['filter'] = $filter, но почему сбрасывается предыдущая установка парамтера из метода setFilter($filter)?
Как мне решить эту проблему?
  • Вопрос задан
  • 2338 просмотров
Пригласить эксперта
Ответы на вопрос 1
vyachin
@vyachin
Ищу работу
https://ru.wikipedia.org/wiki/HTTP
В отличие от многих других протоколов, HTTP не сохраняет своего состояния. Это означает отсутствие сохранения промежуточного состояния между парами «запрос-ответ». Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами (например, «куки» на стороне клиента, «сессии» на стороне сервера). Браузер, посылающий запросы, может отслеживать задержки ответов. Сервер может хранить IP-адреса и заголовки запросов последних клиентов. Однако сам протокол не осведомлён о предыдущих запросах и ответах, в нём не предусмотрена внутренняя поддержка состояния, к нему не предъявляются такие требования.


Для того чтобы добавить персистентности (кажется так это называется) придумали куки и сессии. Используйте их
https://github.com/yiisoft/yii2/blob/master/docs/g...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы