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

Problem z AJAX

Object Storage Arubacloud
0 głosów
310 wizyt
pytanie zadane 17 czerwca 2016 w JavaScript przez pietrek98 Początkujący (430 p.)
edycja 17 czerwca 2016 przez pietrek98

Od jakiegoś czasu próbuję ogarnąć AJAXA, niby robię wszystko ok, a jednak coś nie działa. Nie potrafię konkretnie powiedzieć co, więc podsyłam wszystkie pliki:

Główny w php:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Dokument bez tytułu</title>
</head>

<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script>
$(document).ready(function() {
    $('#kod_form').submit(function() {
		var kod = $('#kod').val();
		
		$.getJSON('process.php', kod, processkod);
	});
});

function processkod(zwrot)
{
	$.('#ret').html('Nazwa: ' + zwrot.nazwa + '<br> Cena: ' + zwrot.cena);	
}

</script>

<body>

<form id = "kod_form">
<input type = "text" id = "kod">
<input type = "submit" value = "Sprawdź" />
</form>
<div id = "ret"></div>
</body>
</html>

i process.php:

<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'nowa';
$conn = new mysqli($host, $user, $pass, $db);

if($conn->connect_error)
	die($conn->connect_error);

function querySQL($query)
{
	global $conn;
	$result = $conn->query($query);
	if(!$result)
		die($conn->error);
	
	return $result;
}

$kod = $_GET['kod'];

$result = querySQL("SELECT * FROM test WHERE kod = '$kod'");
$result->data_seek(1);
$row = $result->fetch_array(MYSQLI_ASSOC);
	
$cena = $row['cena'];
$nazwa = $row['nazwa'];

$zwrot = array($nazwa, $cena);
echo json_encode($zwrot);
?>

 

3
komentarz 18 czerwca 2016 przez Boshi VIP (100,240 p.)
edycja 18 czerwca 2016 przez Boshi

No my też nie wiemy z czym masz problem.

 

p.s jeśli widzisz w kodzie takie coś:

 

    global $conn;
    $result = $conn->query($query);
    if(!$result)
        die($conn->error);
     
    return $result;

To wiedz, że coś się dzieje.

 

komentarz 18 czerwca 2016 przez ScriptyChris Mędrzec (190,190 p.)
Konsola wyświetla jakieś błędy?

1 odpowiedź

0 głosów
odpowiedź 19 czerwca 2016 przez Vodoo Dyskutant (9,270 p.)

Trochę namieszałeś, m.in. nie powinno być kropki po $:

$.('#ret').html('Nazwa: ' + zwrot.nazwa + '<br> Cena: ' + zwrot.cena);

Poprawnie:

$('#ret').html('Nazwa: ' + zwrot.nazwa + '<br> Cena: ' + zwrot.cena);

Na przyszłość: sprawdzaj logi w konsoli przeglądarki, wiele można z nich odczytać.

Wracając do twojego problemu... znacznie przerobiłem kod, powinien działać prawidłowo.

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Dokument bez tytułu</title>
</head>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script>
$(document).ready(function() {

    $("form").on("submit", function(event) {

  		event.preventDefault();

        $.ajax({
		    type: 'GET', 
		    url: 'process.php', 
		    data: $(this).serialize(),
		    dataType: 'json',
		    success: function (data) { 
  				document.getElementById("ret").innerHTML = 'Nazwa: ' + data[0] + '<br> Cena: ' + data[1];
	    	}
		});
	});

});
</script>

<body>
<form>
<input type = "text" name="kod">
<input type = "submit" value = "Sprawdź" />
</form>
<div id = "ret"></div>
</body>
</html>

 

Podobne pytania

0 głosów
0 odpowiedzi 1,070 wizyt
0 głosów
1 odpowiedź 138 wizyt
pytanie zadane 31 marca 2022 w JavaScript przez Klaudiaaa Początkujący (390 p.)
0 głosów
0 odpowiedzi 104 wizyt
pytanie zadane 29 sierpnia 2016 w JavaScript przez RobsonWD Nowicjusz (220 p.)

92,568 zapytań

141,422 odpowiedzi

319,641 komentarzy

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

...