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

Problem przy ładowaniu zawartości div przez ajax

+2 głosów
613 wizyt
pytanie zadane 23 marca 2021 w JavaScript przez dee Początkujący (360 p.)

Witam. 
Napotkałem pewien problem nie mogę go rozwiązać. 

Przeładowuje zawartość diva takim oto skryptem: 

<script>


   $(document).ready(function(){
        function getData(){
            $.ajax({
                type: 'POST',
                url: 'link_data.php',
                success: function(data){
                    $('#output').html(data);
                }
            });
        }
        getData();
        setInterval(function () {
            getData(); 
        }, 500);  

    });

</script>

Wszystko działa div się przeładowuje ale jest jeden problem 
musze wczytać plik link_data.php w takiej postaci link_data.php?id=
gdzie id to $id = $_GET['id']; w php.

Problem polega na tym ze zaczytany plik link_data.php ma zapytanie do bazy z where uid2 = '$id' nie wiem jak przenieść to id do pliku link_data.php

2 odpowiedzi

+1 głos
odpowiedź 23 marca 2021 przez MamFarta Użytkownik (740 p.)

Wykonujesz zapytanie typu POST, a twój plik link_data.php oczekuje zapytania GET, zatem masz dwie opcje do wyboru, albo wykonać GET po stronie frontu, albo w pliku php oczekiwać zmiennych z POST'a. Dodatkowo mówisz o zmiennej przekazanej poprzez zapytanie, a jej nie dodajesz.
Rozwiązanie używające GET'a po stronie js:

    <script>
 
        const id = 'twoje id'

        $(document).ready(function(){
             function getData(){
                 $.ajax({
                     type: 'GET',
                     url: 'link_data.php',
                     data: {'id': id},
                     success: function(data){
                         $('#output').html(data);
                     }
                 });
             }
             getData();
             setInterval(function () {
                 getData(); 
             }, 500);  
      
         });
      
     </script>

 

komentarz 24 marca 2021 przez dee Początkujący (360 p.)
edycja 24 marca 2021 przez dee
Bardzo dziękuję problem rozwiązany
komentarz 24 marca 2021 przez MamFarta Użytkownik (740 p.)
Właśnie wykonując powyższego ajax'a dołączasz do zapytania GET zmienną id z javascriptu.
De facto url jaki zostanie wykonany w tym przykładzie to będzie link_data.php?id=twoje%20id

Zatem w kodzie PHP pod zmienną $_GET['id']; znajdziesz wartość 'twoje id'.

Z twojego pytania zrozumiałem, że chcesz przesłać ID z frontendu (JS) do backendu (PHP) za pomocą Ajaxa, a teraz w komentarzu kompletnie coś innego, jeśli to nadal nie jest odpowiedź na twoje pytanie proszę doprecyzuj je.

Edit.: Powyższy komentarz jest odpowiedzią na zedytowany komentarz autora
+1 głos
odpowiedź 24 marca 2021 przez VBService Ekspert (256,660 p.)

Możesz użyć $_REQUEST, który

$_REQUEST
An associative array that by default contains the contents of $_GET$_POST and $_COOKIE.

chociaż nie jest to "eleganckie", ale można i wtedy nie ma znaczenia czy:

type: 'POST'
type: 'GET'

$id = $_REQUEST[id];

 

Podobne pytania

0 głosów
1 odpowiedź 509 wizyt
0 głosów
1 odpowiedź 1,076 wizyt
+1 głos
3 odpowiedzi 1,342 wizyt

93,777 zapytań

142,736 odpowiedzi

323,388 komentarzy

63,381 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...