2015-08-10 7 views
2

Я работаю над проектом Laravel и пытаюсь получить параметры GET с контроллера. Запрос на страницу с ?date={value} должен возвращать value следующим образом:Невозможно получить параметры GET с помощью laravel

public function getIndex(Request $request) { 
    return $request->input("date"); 
} 

Это не работает, хотя. Запросы POST работают так, как должны. Я использую nginx через cloudflare. Я попытался сделать простой PHP-файл с

echo $_GET["date"]; 

который отлично работает.

+0

Для простоты, этот параметр, который вы хотите, передается как строка запроса? – Victor

+0

@Victor Да, это правильно – Streetlamp

+0

Какую версию laravel вы используете? 4.2, 5.0 или 5.1? Как выглядит ваш маршрут, называющий этот метод? Посмотрите, помогает ли [этот ответ] (https://stackoverflow.com/questions/24744825/laravel-queries-strings). – Victor

ответ

6

Я нашел свою проблему. В конфигурации Nginx для сайта (/etc/nginx/sites-available/default), у меня был

location/{ 
    try_files $uri $uri/ /index.php?; 
} 

, который должен быть

location/{ 
    try_files $uri $uri/ /index.php?$query_string; 
} 

Fixed, перезапущен, теперь он работает.

+0

ты поймал меня! благодаря! – lean

+0

ты потрясающий!))) –

0

Возможно, getIndex() и Request $ request не работают с Route :: controller. Используйте get ('/ my-route'), он более гибкий.

+0

Другая страница использует явный «Маршрут: : get ('page', 'PageController @ getIndex'); ', но запросы GET также не работают. – Streetlamp

+0

Вы создали другую публичную функцию с тем же параметром, работает? (Измените имя функции и тест) –

+0

Я переименовал функцию, и она не работает. – Streetlamp

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