Перенапровление c POST на GET
Перенапровление c POST на GET
Добрый день.
Yii2 почему-то делает редирект с поста на гет, не выполняя экшен совсем.
А мне надо POST данные получить. А я не могу. В чем может быть проблема?
Yii2 почему-то делает редирект с поста на гет, не выполняя экшен совсем.
А мне надо POST данные получить. А я не могу. В чем может быть проблема?
- vitalik1183
- Сообщения: 1675
- Зарегистрирован: 2014.07.01, 08:42
Re: Перенапровление c POST на GET
Фильтры установлены? Я про фильтры запроса, поведения точнее.
Yii2!
Re: Перенапровление c POST на GET
Обычный контроллер. Фильтры не ставил. Контроллер даже пост запросы на не существующие экшены переводит в гет, потом выводит ошибку 404.vitalik1183 писал(а):Фильтры установлены? Я про фильтры запроса, поведения точнее.
Код: Выделить всё
<?php
namespace frontend\modules\games\controllers;
use Yii;
use yii\web\Controller;
class SubscriptionController extends Controller
{
public function actionSuccesspaid()
{
var_dump($_POST); die();
}
}
Re: Перенапровление c POST на GET
валидация наверное 1 запрос, но так как ответ не валидный, то идет просто лесом
Re: Перенапровление c POST на GET
Не понял. Можно поподробней?lynicidn писал(а):валидация наверное 1 запрос, но так как ответ не валидный, то идет просто лесом
Re: Перенапровление c POST на GET
Т.е. присылаются не валидные данные, по этому сервер перенаправляет на Гет? Но как исправить? Изначально приходит Пост запрос с данными.
Re: Перенапровление c POST на GET
включена аякс валидация?
- vitalik1183
- Сообщения: 1675
- Зарегистрирован: 2014.07.01, 08:42
Re: Перенапровление c POST на GET
public $enableCsrfValidation = false; ставлюvitalik1183 писал(а):enableCsrfToken как ?
Re: Перенапровление c POST на GET
Нетlynicidn писал(а):включена аякс валидация?
Re: Перенапровление c POST на GET
Наверно дело именно в том Пост запросе который приходит на сервер. Т.к. другие контроллеры его также редеректят на гет.
Re: Перенапровление c POST на GET
Запросы:
Это ответ
Gneral:
Remote Address:46.29.2.42:80
Request URL:http://site.com/games/subscription/successpaid
Request Method:POST
Status Code:301 Moved Permanently
Response Headers
view source
Connection:keep-alive
Content-Length:343
Content-Type:text/html; charset=iso-8859-1
Date:Tue, 08 Sep 2015 12:05:12 GMT
Location:http://www.site.com/index.php/subscription/successpaid
Server:nginx
Это запрос который приходит.
Request Headers
view source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:0
Content-Type:application/x-www-form-urlencoded
Cookie:_csrf=c2e3513d0eff1155902f684b638391ca; PHPSESSID=oc9vm4o9rpdggpj01; ispmgr4=siris4719050; mbar=ispgr-5-all; _gat=1; _ga=GA1.2.141685637.1437647198
Host:site.com
Origin:null
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36
Это ответ
Gneral:
Remote Address:46.29.2.42:80
Request URL:http://site.com/games/subscription/successpaid
Request Method:POST
Status Code:301 Moved Permanently
Response Headers
view source
Connection:keep-alive
Content-Length:343
Content-Type:text/html; charset=iso-8859-1
Date:Tue, 08 Sep 2015 12:05:12 GMT
Location:http://www.site.com/index.php/subscription/successpaid
Server:nginx
Это запрос который приходит.
Request Headers
view source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:0
Content-Type:application/x-www-form-urlencoded
Cookie:_csrf=c2e3513d0eff1155902f684b638391ca; PHPSESSID=oc9vm4o9rpdggpj01; ispmgr4=siris4719050; mbar=ispgr-5-all; _gat=1; _ga=GA1.2.141685637.1437647198
Host:site.com
Origin:null
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36
Последний раз редактировалось YiiManDev 2015.09.08, 15:17, всего редактировалось 1 раз.
Re: Перенапровление c POST на GET
ну нет там редиректа
следовательно запрос аякс
следовательно получает не то что ждет (text вместо json)
следовательно яваскрипт падает
следовательно идет рефреш страницы
следовательно вы нам тут не договариваете
следовательно запрос аякс
следовательно получает не то что ждет (text вместо json)
следовательно яваскрипт падает
следовательно идет рефреш страницы
следовательно вы нам тут не договариваете
Re: Перенапровление c POST на GET
причем тут аякс/js? у чувака идет редирект с http://site.com/games/subscription/successpaid на http://www.site.com/index.php/subscription/successpaid, потому а) сервер редиректит б) урлменеджер (но он вроде не редиректит)
Re: Перенапровление c POST на GET
а) был бы вечный редирект
Re: Перенапровление c POST на GET
Он просто один раз редиректит с POST на GET и все. Дальше бы не было редиректов. Если бы он редиректил с POST на POST то был бы вечный редирект.lynicidn писал(а):а) был бы вечный редирект
Re: Перенапровление c POST на GET
с чего это?lynicidn писал(а):а) был бы вечный редирект
Re: Перенапровление c POST на GET
редирект происходит на другой урл. пост и гет здесь не причем.YiiManDev писал(а):Он просто один раз редиректит с POST на GET и все. Дальше бы не было редиректов. Если бы он редиректил с POST на POST то был бы вечный редирект.lynicidn писал(а):а) был бы вечный редирект
- mihail_dev
- Сообщения: 243
- Зарегистрирован: 2013.07.17, 00:51
- Откуда: Молдова
- Контактная информация:
Re: Перенапровление c POST на GET
конфиг и контроллер в студию
Re: Перенапровление c POST на GET
Обычный контроллерmihail_dev писал(а):конфиг и контроллер в студию
Код: Выделить всё
<?php
namespace frontend\controllers;
use Yii;
use yii\web\Controller;
class TestController extends Controller
{
public function actionIndex()
{
var_dump($_POST);
}
}
Код: Выделить всё
<?php
$config = [
'homeUrl'=>Yii::getAlias('@frontendUrl'),
'controllerNamespace' => 'frontend\controllers',
'defaultRoute' => 'site/index',
'modules' => [
'user' => [
'class' => 'frontend\modules\user\Module',
],
'games' => [
'class' => 'frontend\modules\games\games',
],
'comments' => 'rmrevin\yii\module\Comments\Module',
],
'components' => [
'authClientCollection' => [
'class' => 'yii\authclient\Collection',
],
'errorHandler' => [
'errorAction' => 'site/error',
],
'user' => [
'class'=>'yii\web\User',
'identityClass' => 'common\models\User',
'loginUrl'=>['/user/sign-in/login'],
'enableAutoLogin' => true,
],
]
];
if (YII_ENV_DEV) {
$config['modules']['gii'] = [
'class'=>'yii\gii\Module',
'generators'=>[
'crud'=>[
'class'=>'yii\gii\generators\crud\Generator',
'messageCategory'=>'frontend'
]
]
];
}
return $config;
Код: Выделить всё
<?php
return [
'id' => 'frontend',
'basePath'=>dirname(__DIR__),
'sourceLanguage'=>'en-US',
'language'=>'ru-RU',
'components' => [
'urlManager'=>require(__DIR__.'/_urlManager.php'),
],
];
Код: Выделить всё
<?php
use \rmrevin\yii\module\Comments\Permission;
return [
'class'=>'yii\web\UrlManager',
'enablePrettyUrl'=>true,
'showScriptName'=>false,
'rules'=> [
'' => 'site/index',
['class' => 'common\components\urlRules\ArticleUrlRule'],
['class' => 'common\components\urlRules\TeamUrlRule'],
// Тренер
'coach-<slug>' => '/games/coach/view',
// Предстказания
'forecasters/user-<id:\d+>' => '/games/prediction/user',
'forecasters/sort-<sort>/p<page>' => '/games/forecasters/index',
'forecasters/sort-<sort>' => '/games/forecasters/index',
'forecasters/p<page>' => '/games/forecasters/index',
'forecasters' => '/games/forecasters/index',
'prediction' => '/games/prediction/index',
// Таблица
'table' => '/games/table/index',
'table<id:\d+>-<slug>' => '/games/table/table',
// Календарь
'calendar' => '/games/calendar/index',
'calendar<id:\d+>-<slug>' => '/games/calendar/calendar',
// Матч
'match-<id:\d+>' => '/games/match/view',
'<_c:[\w\-]+>/<id:\d+>' => '<_c>/view',
'<_c:[\w\-]+>' => '<_c>/index',
'<_c:[\w\-]+>/<_a:[\w\-]+>/<id:\d+>' => '<_c>/<_a>',
['pattern'=>'page/<slug>', 'route'=>'page/view']
]
];
$AuthManager = \Yii::$app->getAuthManager();
$ItsMyCommentRule = new \rmrevin\yii\module\Comments\rbac\ItsMyComment();
$AuthManager->add($ItsMyCommentRule);
$AuthManager->add(new \yii\rbac\Role([
'name' => Permission::CREATE,
'description' => 'Can create own comments',
]));
$AuthManager->add(new \yii\rbac\Role([
'name' => Permission::UPDATE,
'description' => 'Can update all comments',
]));
$AuthManager->add(new \yii\rbac\Role([
'name' => Permission::UPDATE_OWN,
'ruleName' => $ItsMyCommentRule->name,
'description' => 'Can update own comments',
]));
$AuthManager->add(new \yii\rbac\Role([
'name' => Permission::DELETE,
'description' => 'Can delete all comments',
]));
$AuthManager->add(new \yii\rbac\Role([
'name' => Permission::DELETE_OWN,
'ruleName' => $ItsMyCommentRule->name,
'description' => 'Can delete own comments',
]));