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
Domyślam się, że jeszcze można by pójść w stronę OOP.

Dobrze się domyślasz:)

Abstrahując jednak od tego, to dla każdego zapytania AJAXowego powinien być inny adres url np.
edycja profilu -> my_page.com/profile/edit
wyświetlanie listy zadań -> my_page.com/task_list

Czyli ta twoja funkcja ze sposobu pierwszego powinna być określona za pomocą url'a, natomiast pozostałe dane get'em lub post'em.
Często można spotkać doklejanie id do url'a, czyli jeżeli jestem użytkownikiem o id = 2, to link do edycji profilu wyglądałby tak:
my_page.com/profile/edit/2

Koniec końców raczej stosuj drugi sposób niż pierwszy:) W taki sposób łatwiej, a przede wszystkim czytelniej:) jest kontrolować uprawnienia użytkowników.
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: 26.12.2025 - 20:15