2015-02-04 5 views
1

Попытка построить метод контроллера, который может перенаправить и отправить данные запроса вместе с ним. У перенаправления контроллера/маршрута, похоже, нет ничего, что могло бы достичь этого.Литий-редирект отправить данные запроса

This question gave a new approach, но я не могу понять, как перенаправить на указанную страницу вместо рендеринга на текущий.

$forward = Libraries::instance("controllers", "Main", [ 
    'request' => $this->request 
]); 
return $forward($this->request, ['action' => 'view']); 

The route tests, кажется, не обеспечивают никакого понимания либо, как я могу идти о достижении URL перенаправления, сохраняя при этом данные запроса?

+0

Когда вы говорите о перенаправлении ... вы имеете в виду фактическое переадресацию браузера и хотите сохранить данные в строке запроса? Например, запрос приходит в http://example.com/some/url?a=1&b=2, и вы хотите перенаправить его на http://example.com/another/url?a=1&b=2? – rmarscher

+0

Переадресация браузера, но я хочу сохранить как '$ this-> request-> data', так и' request-> query'. Поэтому пересылка текущих данных запроса на другую страницу – Bankzilla

+1

Да, это для внутренней переадресации. Спецификация HTTP не предоставляет механизма для перенаправления с данными POST (отсюда и шаблон POST-Redirect-GET). Тем не менее, вы все равно можете выполнить '$ forward()' call и _then_' return $ this-> redirect (...) ', если целевая страница не требует того же контекста запроса, что и рендер. –

ответ

0

От внутри контроллера:

$this->redirect(['AnotherController::anotherAction', '?' => $this->request->query], ['exit' => true]); 

$this->request->data не может быть переадресован. Переадресация местоположения браузера может указывать только строку запроса. Возможно, вы можете создать страницу с формой, содержащей данные во входных элементах html и отправить форму при загрузке. Или вы можете хранить данные в сеансе или на какой-то стороне сервера и извлекать их при следующем запросе.

+0

Плотина Я надеялся избежать создания фида и отправки – Bankzilla

+0

Закончился с помощью перенаправления с сеансом, сохраняя данные запроса. – Bankzilla

Смежные вопросы