Задать вопрос
@lavrentiev
Back-end разработчик

Yii2 не работает data-method=post?

Не могу понять уже сломал голову в шаблоне view в widgets Nav добавил

['label' => 'Выйти', 'url' => ['/core/default/logout'], 'linkOptions' => ['data-method' => 'post'], 'visible' => !\Yii::$app->user->isGuest],


А в controller в модуле добавил как полагается:

'verbs' => [
                'class' => VerbFilter::className(),
                'actions' => [
                    'logout' => ['post'],
                ],
            ],


И к примеру нахожусь на странице Index жму и выходит 405 а если нахожусь на странице допустим signup то срабатывает.

Кто может подсказать в чем проблема?

exception 'yii\web\MethodNotAllowedHttpException' with message 'Method Not Allowed. This url can only handle the following request methods: POST.' in D:\_osweb_premium\domains\***\vendor\yiisoft\yii2\filters\VerbFilter.php:105
Stack trace:
#0 [internal function]: yii\filters\VerbFilter->beforeAction(Object(yii\base\ActionEvent))
#1 D:\_osweb_premium\domains\***\vendor\yiisoft\yii2\base\Component.php(538): call_user_func(Array, Object(yii\base\ActionEvent))
#2 D:\_osweb_premium\domains\***\vendor\yiisoft\yii2\base\Controller.php(259): yii\base\Component->trigger('beforeAction', Object(yii\base\ActionEvent))
#3 D:\_osweb_premium\domains\***\vendor\yiisoft\yii2\web\Controller.php(108): yii\base\Controller->beforeAction(Object(yii\base\InlineAction))
#4 D:\_osweb_premium\domains\***\vendor\yiisoft\yii2\base\Controller.php(149): yii\web\Controller->beforeAction(Object(yii\base\InlineAction))
#5 D:\_osweb_premium\domains\***\vendor\yiisoft\yii2\base\Module.php(455): yii\base\Controller->runAction('logout', Array)
#6 D:\_osweb_premium\domains\***\vendor\yiisoft\yii2\web\Application.php(83): yii\base\Module->runAction('core/default/lo...', Array)
#7 D:\_osweb_premium\domains\***\vendor\yiisoft\yii2\base\Application.php(375): yii\web\Application->handleRequest(Object(yii\web\Request))
#8 D:\_osweb_premium\domains\***\web\index.php(18): yii\base\Application->run()
#9 {main}
  • Вопрос задан
  • 8192 просмотра
Подписаться 1 Оценить 1 комментарий
Решения вопроса 2
Terminaft
@Terminaft
jQuery подключен?
Ответ написан
Комментировать
vyachin
@vyachin
Ищу работу
подключите YiiAsset
тут написано https://github.com/yiisoft/yii2/blob/master/framew...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@lavrentiev Автор вопроса
Back-end разработчик
<?= Html::csrfMetaTags() ?>

Тег добавлен. Yii2 обновлен!
Ответ написан
inginer
@inginer
Веб - разработчик
Как включить YiiAssets постарался подробно написать toproduction.ru/blog/yii2-data-method-post.html
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы