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

question-closed wyświetlenie tablicy ajax,jquery

Object Storage Arubacloud
0 głosów
419 wizyt
pytanie zadane 17 marca 2018 w JavaScript przez damian9901 Bywalec (2,140 p.)
zamknięte 17 marca 2018 przez damian9901

Tak jak w pytaniu. Przy pomocy PHP i jego funkcji json_encode, otrzymałem taką oto tablicę:

[{"imie":"yy","nazwisko":"yy","nazwa":"test","plec":"Kobieta"}]

W jaki sposób wyświetlić ją przy pomocy jquery?

edit:

kod js

    $(document).ready(function(){
        $(".profile").click(function(){
            
            var id = $(this).data('id');
            
            $.ajax({
                    method: "GET",
                    url: "../functions/getDataFromDB.php",
                    dataType: "text",
                    data: {id:id},
                    success: function(data){
                    
                    console.log(data);
   
                    }
            });
        });
    });

kod php:

	public function GetPlayer($id){

		$query = "SELECT * FROM zawodnik WHERE id={$id}";
		$result = $this->db->query($query);
		if ($result->num_rows <= 0) {
			return false;	
		}
		
		$this->PlayerInfo[] = $result->fetch_assoc();

		
		echo json_encode ($this->PlayerInfo);
	}

kod php:

	if(isset($_GET['id'])){
		$id = $_GET['id'];
		
		$vv = new AddService();
		
		$vv->GetPlayer($id);
		
	}

 

komentarz zamknięcia: rozwiązanie problemu
komentarz 17 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)
Co rozumiesz pod pojęciem "wyświetlić"? Mówisz już o tablicy zapisanej w obiekcie response? (bo to co podaleś to nie json ale już normalna tablica w JS zawierająca jeden element)
komentarz 17 marca 2018 przez damian9901 Bywalec (2,140 p.)
Chcę wyświetlić po prostu te wartości. Jeśli nic Tobie to nie mówi, to wstawię kod, abyś mógł go przeanalizować

1 odpowiedź

+1 głos
odpowiedź 17 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)
wybrane 17 marca 2018 przez damian9901
 
Najlepsza
const data = [{"imie":"yy","nazwisko":"yy","nazwa":"test","plec":"Kobieta"}];

data[0].imie;     //yy"
data[0].nazwisko; //"yy"
data[0].nazwa;    //"test"
data[0].plec;     //"Kobieta"

o takie coś chodzi?

komentarz 17 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)

oki, czyli na 99% jesteśmy u celu i problem tkwi właśnie w BOM.

To teraz tak:

  1. zmień jak pisałem na kodowanie bez BOM
  2. i teraz jeszcze na tych plikach musisz usunąć to BOM, co już jest, czyli daj Format -> Konwertuj na UTF8 bez BOM 
  3. zapisz pliki (zrób to na wszystkich plikach)

I teraz jeszcze raz zobacz jak zachowuje się apka i czy nadal w response (zakładka w konsoli) mamy te kropki. Te kropki to tak na prawdę nie kropki ale punkty kodowe znaków oznaczających BOM, ale tak po prostu są wyświetlane w konsoli.

komentarz 17 marca 2018 przez damian9901 Bywalec (2,140 p.)
Brak błędów, wyświetlone: https://imgur.com/Czh5nBc

jak w takim razie mogę odwołać się w jquery do danego pola, czyt.imie, nazwisko..?

Taki głupi błąd( kodowanie), a tyle roboty było...
komentarz 17 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)

No to teraz wracamy do metody "success" i tam wywołujemy funkcję, która jako argument przyjmuje obiekt dane zwrócone przez serwer i powinny one już być przepuszczone przez JSON.parse, więc:

success: function(data) {
    console.log(data);
    //powinno zwrócić tablicę:
    //[{"imie":"yy","nazwisko":"yy","nazwa":"test","plec":"Kobieta"}];

    //więc teraz:
    console.log(`Imię: ${data[0].imie}`);
}

A jeśli coś nie pojdzie to zrób console.log(data) i zobacz jak wygląda informacja zwrotna. Daj znać czy ruszyło :)

komentarz 17 marca 2018 przez damian9901 Bywalec (2,140 p.)
Dziękuję Ci bardzo za pomoc. Tyle się trudzić z jednego powodu. Wszystko działa, jak należy :)
1
komentarz 17 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)
Spoko :)

swoją drogą przyznam, że ciekawy błąd i trochę przypadkiem mnie naszło na BOM jak o tych kropkach napisałeś :)

Tak na prawdę często większym problemem jest rozpracowanie czyjegoś kodu i znalezienie błędu niż napisanie wszystkiego od zera... także ta nauka nie poszła w las, przy okazji poznałeś ajax.error co szczerze polecam stosować. Tak samo jak ręczne parsowanie JSON warto zawsze wrzucać w try-catch, ale tutaj jQuery robi to za Ciebie.

Powodzenia zatem w dalszym pisaniu :)

Podobne pytania

0 głosów
2 odpowiedzi 781 wizyt
0 głosów
2 odpowiedzi 835 wizyt
pytanie zadane 12 marca 2018 w PHP przez damian9901 Bywalec (2,140 p.)
0 głosów
1 odpowiedź 138 wizyt
pytanie zadane 31 marca 2022 w JavaScript przez Klaudiaaa Początkujący (390 p.)

92,573 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...