Witam,
Prośba o wskazówki, co jest nie tak w poniższym (uproszczonym) kodzie:
Mam taki routing:
Route::any('/photos/tag/{tag?}', 'PhotoController@tag');
I kontroller:
class PhotoController extends Controller
{
public function tag(Request $request, $tag=null)
{
if($request->isMethod("GET"))
{
if($tag===null || !isset($tag))
{
//zrób coś - DZIAŁA
}
else
{
//zrób coś - DZIAŁA
}
return view('jakis_tam_widok');//wyświetla stronę w zależności od wartości parametru $tag
}
if($request->ajax())
{
if($tag===null || !isset($tag))
{
//zrób coś - DZIAŁA
}
else
{
//zrób coś - NIE DZIAŁA
}
return response()->json(['jakas_dana' => $jakas_wartosc]) //zwraca dane do skryptu js
}
}
}
Problem polega na tym, że w przypadku requesta ajaksowego (metodą POST) parametr $tag wynosi zawsze null bez
względu na to, co znajdzie się w adresie w miejscu zmiennej {tag}. Cała funkcjonalność natomiast działa, gdy w
miejsce parametru $tag metody tag ręcznie wpiszę jakąś wartość. Metoda GET również działa w założony sposób.