• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed AJAX, PHP podmiana kawałka strony

VPS Starter Arubacloud
0 głosów
637 wizyt
pytanie zadane 13 maja 2017 w JavaScript przez UltraSF Stary wyjadacz (11,740 p.)
zamknięte 13 maja 2017 przez UltraSF
Witam tworzę stronę której cześć jest wymieniana przez ajax

mamy stronę www.strona.pl

1(jeśli się da bo nie jestem pewien) Klikam w link, url zmienia się na www.strona.pl/podstrona

2.Wysyłamy (nie wiem jak) do pliku.php zmienną na temat jaka do podstrona np. ($_GET['podstrony'])

-od tego momentu wiem jak się to wszystko rb

3.php mieli, łączy się z bazą

4.ajax to pobiera i podmienia dany fragment.

Czy ktoś wie jak zrobić pierwsze dwa podpunkty? Dziękuje z góry za pomoc :)
komentarz zamknięcia: https://github.com/defunkt/jquery-pjax

4 odpowiedzi

+1 głos
odpowiedź 13 maja 2017 przez Magicone Nałogowiec (45,100 p.)
wybrane 13 maja 2017 przez UltraSF
0 głosów
odpowiedź 13 maja 2017 przez Ehlert Ekspert (212,630 p.)
To się nazwy REST API, a klienta możesz zrobić w jakieś libce np. React.
komentarz 13 maja 2017 przez Ehlert Ekspert (212,630 p.)
https://www.leaseweb.com/labs/2015/10/creating-a-simple-rest-api-in-php/

Ale czy to warto takie spaghetti robić, jak można skorzystać z choćby Yii, Silex'a, Symfony?
komentarz 13 maja 2017 przez UltraSF Stary wyjadacz (11,740 p.)
A trochę dokładnie jak się robi to REST API albo chociaż wskazówka? Własnie obiło mi się to o uszy, ale nigdy się nie zagłębiłem w to :O
komentarz 13 maja 2017 przez Ehlert Ekspert (212,630 p.)

Znaczy jeśli chcesz podmienić kawałek strony to raczej nie ma sensu robić API. 

$dataToSend = [
    'exampleNumber'   =>   234,
    'something more'   =>  'hello :)',
    'bigData'    =>   [
         'inside'    =>   'backdoor :D'
    ]
];

echo json_encode($dataToSend);

Do tego: http://api.jquery.com/jquery.ajax/

komentarz 13 maja 2017 przez UltraSF Stary wyjadacz (11,740 p.)
Ja to wiem umiem to rb, mi chodzi jak linkiem odpalić ajax, zmień url przekazać zmienną, i to wszystko bez przeładowania
komentarz 13 maja 2017 przez Ehlert Ekspert (212,630 p.)

dałem Ci linka jak odebrać dane po stronie klienta. Do tego potrzebujesz jakiś router w js. Szukaj w google js router, ma go między innymi React, Vue Angular. 

0 głosów
odpowiedź 13 maja 2017 przez Tomek Sochacki Ekspert (227,510 p.)
ad 1. Chodzi po prostu o znacznik <a href="/podstrona">Podstrona</a> ???

ad 2. poczytaj o Ajax, np. XMLHttpRequest, fetchAPI (jeśli nie musisz pisać dla IE) czy o jQuery (tam też jest metoda ajax). Jeśli dopiero zaczynasz to osobiście polecam spróbować choć raz zrobić to "bezpośrednio" na XMLHttpRequest, gdyż taki kod znajdziesz na wielu stronach i będziesz wtedy w stanie go rozszyfrować. Ponadto to dobry moment, aby poczytać np. o Promise (tzw. obietnice w JS).

Jeśli chcesz bawić się w przesyłanie w GET to dla bezpieczeństwa warto pomyśleć o uchronieniu się przed pobieraniem danych z pamięci. Często w tym celu wiele poradników poleca dodawać do żądania zmienny paramter np. znacznik czasowy, ale osobiście za lepszą metodę uważam po prostu wysłanie nagłówka If-Modified-Since (nie lubię niepotrzebnego zaśmiecania adresu url).

 

A tak na marginesie, to Ajax jest technologią właśnie do dwukierunkowej wymiany, czyli "obrania" zarówno punkt 2 jak i 4. To jednak tak w dużym uproszczeniu, ale nie chcę tutaj wchodzić w dywagacje na temat czym jest dokładnie Ajax.
komentarz 13 maja 2017 przez UltraSF Stary wyjadacz (11,740 p.)
A tak jak napisałem, wielokrotnie go używałem, i doskonale wiem jak działa ajax, jq itd. Natomiast mi chodzi bardziej jak odpalić ajax przy użyciu linku i nie przeładowując strony, przesłać get, lub czymś zmienną, zmień url i odpalić ajax.
–1 głos
odpowiedź 13 maja 2017 przez Chess Szeryf (76,710 p.)
edycja 13 maja 2017 przez Chess
komentarz 13 maja 2017 przez UltraSF Stary wyjadacz (11,740 p.)
Wiem, wiem jak to zrb, rzeczywiście w tagu a danie onclick rozwiązuje pewien problem, ale mi chodzi jeszcze, a nawet bardziej(bo tak jak mówiłem, jak obsługiwać ajax wiem bardzo dobrze) o zmianę url przy tym.
komentarz 13 maja 2017 przez UltraSF Stary wyjadacz (11,740 p.)
skąd te minusy? Napisałeś coś nie tak? :O
komentarz 13 maja 2017 przez gromula Stary wyjadacz (10,070 p.)
<a onclick="runAjax();"> bleeeeeeeeeee
komentarz 13 maja 2017 przez UltraSF Stary wyjadacz (11,740 p.)
W sumie racja

Podobne pytania

+1 głos
1 odpowiedź 121 wizyt
pytanie zadane 1 października 2020 w JavaScript przez Kaerv Użytkownik (500 p.)
0 głosów
2 odpowiedzi 254 wizyt
pytanie zadane 29 listopada 2021 w JavaScript przez Dropal Początkujący (340 p.)
+1 głos
1 odpowiedź 231 wizyt

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...