Hej,
Mam pewien formularz, który wysyłam ajaxem w celu jego walidacji oraz wysłania do bazy danych. Po zapisaniu formularza (powiedzmy, że użytkownik utworzył jakieś zamówienie) wypadałoby wyświetlić ładny komunikat oraz przekierować usera do tego nowo utworzonego rekordu (czyli tutaj: na podstronę edycji zamówienia), aby mógł sobie dalej szperać.
Zatrzymałem się na etapie wynajdowania prawidłowego (tj. prawilnego oraz ładnego) sposobu poinformowania oraz przekierowania użytkownika.
Question incoming
Czy wrzucanie komunikatu do sesji i zwracanie docelowego URLa, aby po stronie użytkownika przez JSa wykonać location.href
jest, hm, ładne? Czy jest prawilne wystarczająco? Czy może raczej zahacza o ajax smell
?
Przekładając mój tok myślenia na luźne PHP:
<?php
// zapisywanie formularza
// (...)
Session::addMessage('Coś tam coś tam, zamówienie utworzone.');
return Json::encode([
'url' => route('order.edit', $order->id),
]);
I po stronie JSa, jak wspomniałem, zwykłe:
location.href = msg.url;
Aplikacja nie jest RESTowa, więc teoretycznie moje podejście (wykorzystywanie stanowości) wydawałoby się słuszne - co o tym myślicie/jak Wy byście to rozwiązali?
PS zamówienie zostało podane jako przykład, dlatego nie sugerujcie się tym za bardzo.
PPS wątek wrzuciłem do generalnego webmastering
, ponieważ sam problem dotyczy dowolnego języka server side
, nie specyficznie PHP (choć akurat w moim przypadku mowa będzie o pehapie).