Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][AJAX] Struktura po stronie serwera.
tolomei
post
Post #1





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

Ostrzeżenie: (0%)
-----


Witam.

Chciałbym zapytać o wasze doświadczenia przy obsłudze żądań AJAX po stronie skryptu PHP.

Przy projektach używałem dwóch sposobów:

Sposób 1.

Skrypt JS obsługując różne zdarzenia wysyła żądania postem do np. ajaxFunctions.php w podanej formie:

{ funkcja: 1, dane: data }
{ funkcja: 2, dane: data }

Strona php:

  1. // pomijam walidację i kwestie bezpieczeństwa
  2.  
  3. if(isset($_POST['funkcja'])) {
  4.  
  5. if($_POST['funkcja'] == 1) {
  6. // kod obsługi
  7. // zwracamy odpowiedź
  8. } elseif($_POST['funkcja'] == 2) {
  9. // kod obsługi
  10. // zwracamy odpowiedź
  11. } elseif($_POST['funkcja'] == 3) {
  12. // kod obsługi
  13. // zwracamy odpowiedź
  14. } else {
  15. // zwracamy błąd
  16. }
  17. }



Sposób 2.

Każde zdarzenie jest obsługiwane przez oddzielny skrypt php na serwerze.
Chyba nie potrzeba więcej wyjaśnień tutaj.


Oba sposoby wykorzystywałem i nie jestem z nich w 100% zadowolony.
Domyślam się, że jeszcze można by pójść w stronę OOP.

Macie jakieś własne sposoby implementacji ?

Dzięki.
Pozdro.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bastard13
post
Post #2





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
fajne w tym jest to, że jeśli chcę przeładować ajaxem "centrum" aplikacji, to request z marszu zwróci mi tylko środek, a jak wywołam ten sam odnośnik w nowym oknie, to doklei layout i wszystko będzie działało odpowiednio.

Nie wydaje mi się, żeby coś takiego było potrzebnym zabiegiem. W końcu wiesz, które akcje mają być responsem ajaxowym, a które nie, więc po co dodatkowo to sprawdzanie robić po stronie serwera? Jeżeli użytkownik wpisze ajaxowy url z palca to dlaczego otaczać to dodatkowo layoutem? Taka akcja nie jest pożądana, więc dlaczego nie wypluć po prostu czystego responsa?

Cytat
tym sposobem mam wymieszane wszystkie akcje ajaxowe oraz nei ajaxowe w controlerach

Dobrze prawi:) Logika jest ważniejsza niż typ żądania.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 12:54