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

question-closed Funkcja get() pobierająca ID z odnośnika

VPS Starter Arubacloud
0 głosów
202 wizyt
pytanie zadane 18 maja 2017 w JavaScript przez Orustak Nowicjusz (140 p.)
zamknięte 19 maja 2017 przez Orustak

Cześć, od jakiegoś czasu piszę forum. Zabrałem się za prosty chat, połączony z bazą danych forum, który pozwala pisać oraz wyświetlać wiadomości. Chcąc uniknąć przeładowywania się całej strony przy wysłaniu danych skorzystałem z jQuery. Poradziłem sobie jakoś z wyświetlaniem chatu oraz wysyłaniem wiadomości, chociaż, prawdę mówiąc, działałem na oślep, dopiero się wdrażam w język.

Chcąc ulepszyć całość postanowiłem dodać opcje kasowania pojedynczej wiadomości. W samym PHP nie ma problemu, generuję link, w którym metodą GET wysyłam ID wiadomości do tej samej strony (w moim przypadku chat.php), która kasuje to, co ma skasować, jeśli ustawione jest ID (isset($_GET['del'])). Tutaj pojawia się sedno mojego problemu - nie wiem w jaki sposób mam przekazać ID przy pomocy jQuery/AJAXa, żeby nie było konieczności przeładowywania strony. W dokumentacji nie doszukałem się odpowiedzi, ewentualnie jej nie zrozumiałem. Wszystkie moje próby okazały się nieudane. Źle się do tego zabrałem? Jak odwołać się do odnośnika i wyciągnąć z niego to co potrzebne, a następnie przekazać do pliku PHP, który zadba o usunięcie?

Posługiwałem się takim linkiem (chat_id to oczywiście ID rekordu z bazy):

echo '<a href="chat.php?del='.$row['chat_id'].'">usuń</a>';

Innych kodów nie wklejam, ponieważ nie udało mi się nawet wywołać alertu po kliknięciu na przycisk. Poradziłem sobie z funkcją POST, ponieważ tam odwoływałem się do formularza, tak jak w opisie dokumentacji, ale z GET mam ogromny problem.

komentarz zamknięcia: Znalazłem odpowiedź przeczesując internet.

1 odpowiedź

0 głosów
odpowiedź 18 maja 2017 przez Fenix Nałogowiec (26,750 p.)

Możesz użyć technologi ajax która ma swoją implementacje w jQuery.  Ajaxa wyślij po kliknieciu na link, dodając funkcje poprzez addEventListener, niezapomnij użyć przy kliknieciu na link. Nastepnie pobierz id, które przekażesz przez ajax'a. W odpowiedzi ajaxa warto dodać komunikat że komentarz został poprawnie usuniety, oraz usunąć jego widok.

komentarz 18 maja 2017 przez Tomek Sochacki Ekspert (227,510 p.)
Stosując metodę GET warto zabezpieczyć się przed podczytywaniem danych z pamięci przeglądarki. Są na to dwie metody. Dodawanie unikalnego ciągu do adresu, np. znacznika czasu... co według mnie jest mało eleganckie.

Inną metodą jest po prostu dodanie nagłówka "If-Modyfied-Since" np. o wartości (new Date(0)).toGMTString() albo innej daty, byleby daty z przeszłości.
komentarz 19 maja 2017 przez Orustak Nowicjusz (140 p.)
Widocznie się nie zrozumieliśmy. Wiem jakie są funkcje w jQuery, w szczególności zapoznałem się z $.post i $.get. Mój problem polegał na tym, że nie byłem w stanie wykorzystać znalezionych informacji do osiągnięcia celu.

Polegał, bo po kilku kolejnych godzinach poszukiwań znalazłem odpowiedź na swoje pytanie. Umieściłem ID wiadomości w rel odnośnika i, za pomocą jQuery, pobrałem to sobie metodą (ku mojemu zdziwieniu) $.post.

Dzięki za chęci.

Podobne pytania

–1 głos
2 odpowiedzi 1,143 wizyt
pytanie zadane 1 listopada 2017 w JavaScript przez niezalogowany
0 głosów
0 odpowiedzi 415 wizyt
pytanie zadane 28 stycznia 2017 w JavaScript przez gromula Stary wyjadacz (10,070 p.)
0 głosów
2 odpowiedzi 380 wizyt
pytanie zadane 4 grudnia 2018 w PHP przez james4444 Nowicjusz (120 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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!

...