Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: JSON ei aukea, opasta?

Sivun loppuun

p99o [24.07.2013 13:05:54]

#

(Sivujuonne toisesta keskustelusta.)

Jos saisi jonkinlaisen jQuery/ajax/JSON -oppaan niin olisi todella jees. Ei tuo JSON oikein aukea vaikka kuinka yrittäisi lukea oppaita ja vähän soveltaa.

The Alchemist [25.07.2013 10:37:12]

#

Miten se nyt ei aukea? Kuulostaa siltä, ettet edes tiedä, mikä / mitä json on.

qeijo [25.07.2013 11:31:42]

#

Jos ei JSON konsepti aukea niin suosittelen että käyttäisit aikasi johonkin muuhun.

p99o [25.07.2013 12:33:44]

#

Perus ohjelmoijat, aina valittamassa toisille ^^

fergusq [25.07.2013 12:47:10]

#

p99o kirjoitti:

Perus ohjelmoijat, aina valittamassa toisille ^^

Ei valittamisesta kannata valittaa. Sekin on valitusta. ;)

JSON on oikeasti tosi simppeli, ei sen opetteleminen kauaa vie. Aloita vaikka lukemalla Wikipediasta.

p99o [25.07.2013 15:54:09]

#

Kyllähän sitä idean tajuaa ja jne.. Se että saisi aikaan jotain oikeasti toiminvaa php/jquery:lla niin ei sitten onnistukaan niin helposti.

The Alchemist [25.07.2013 19:29:58]

#

p99o kirjoitti:

Kyllähän sitä idean tajuaa ja jne.. Se että saisi aikaan jotain oikeasti toiminvaa php/jquery:lla niin ei sitten onnistukaan niin helposti.

Niin eli et siis tosiaan ymmärrä, mikä json on. Json on tiedostomuoto kuten html, xml tai yaml. Se on siis vain rakenteinen tiedostomuoto datan säilömiseen ja se on suunniteltu yksinkertaiseksi ja kevyeksi parsittavaksi. Se on johdettu javascriptin syntaksista olioiden ja taulukoiden määrittelemiseksi. Json ei ole ohjelmointikieli eikä synonyymi ajaxille eikä se myöskään suoraan liity mihinkään yhteen tiettyyn ohjelmointikieleen.

p99o [25.07.2013 22:15:54]

#

The Alchemist kirjoitti:

p99o kirjoitti:

Kyllähän sitä idean tajuaa ja jne.. Se että saisi aikaan jotain oikeasti toiminvaa php/jquery:lla niin ei sitten onnistukaan niin helposti.

Niin eli et siis tosiaan ymmärrä, mikä json on. Json on tiedostomuoto kuten html, xml tai yaml. Se on siis vain rakenteinen tiedostomuoto datan säilömiseen ja se on suunniteltu yksinkertaiseksi ja kevyeksi parsittavaksi. Se on johdettu javascriptin syntaksista olioiden ja taulukoiden määrittelemiseksi. Json ei ole ohjelmointikieli eikä synonyymi ajaxille eikä se myöskään suoraan liity mihinkään yhteen tiettyyn ohjelmointikieleen.

voi hyvää päivää...

jukkah [26.07.2013 16:09:59]

#

The Alchemist kirjoitti:

p99o kirjoitti:

Kyllähän sitä idean tajuaa ja jne.. Se että saisi aikaan jotain oikeasti toiminvaa php/jquery:lla niin ei sitten onnistukaan niin helposti.

Niin eli et siis tosiaan ymmärrä, mikä json on. Json on tiedostomuoto kuten html, xml tai yaml. Se on siis vain rakenteinen tiedostomuoto datan säilömiseen ja se on suunniteltu yksinkertaiseksi ja kevyeksi parsittavaksi. Se on johdettu javascriptin syntaksista olioiden ja taulukoiden määrittelemiseksi. Json ei ole ohjelmointikieli eikä synonyymi ajaxille eikä se myöskään suoraan liity mihinkään yhteen tiettyyn ohjelmointikieleen.

Ei tuota ole mahdollista käsittää noin pahasti pieleen.

p99o: Kannattaa tutustua esimerkiksi Backbone.jsään. Lue vaikka linkin takaa löytyvä dokumentaatio sekä Addy Osmanin Developing Backbone.js Applications (lataa kirjan pdf-versio). Muitakin hyviä kirjastoja on olemassa, riippuu aina siitä, mitä haetaan.

p99o [27.07.2013 22:47:03]

#

Miksi koko asia edes oletettiin että en tajua mitä JSON on?

Triton [27.07.2013 23:14:26]

#

p99o kirjoitti:

Miksi koko asia edes oletettiin että en tajua mitä JSON on?

Itse sanoit, ettei JSON aukea, niin kerrohan, että miten muutenkaan tuon voisi ottaa? JSONia käytetään mm. datan välittämiseen paikasta a paikkaan b.

p99o [27.07.2013 23:41:59]

#

No siis tarkoitin lähinnä verkkosivuja [jQuery/Ajax/JSON] jotka toimisivat ilman että sivua tarvitsee aina päivitellä erikseen. Esim jotain automaattisesti täydentäviä hakuja, chatit jne..

Lebe80 [27.07.2013 23:48:09]

#

Minä koko jQuery+ajax+JSON onko paha?

Sun viesteistäsi ei edelleenkään saa selvää, mitä haet takaa.

Itse käytin eräässä projektissa JSON muotoa datan siirtoon tietokannasta Javascriptille. Php-sktipti siis muotoili datan JSON-muotoon, josta se kääntyi helposti(automaattisesti) javascriptillä luettavaksi.

The Alchemist [27.07.2013 23:53:22]

#

p99o kirjoitti:

No siis tarkoitin lähinnä verkkosivuja [jQuery/Ajax/JSON] jotka toimisivat ilman että sivua tarvitsee aina päivitellä erikseen. Esim jotain automaattisesti täydentäviä hakuja, chatit jne..

No eihän ne asiat voi aueta, jos sulla ei ole mitään tiettyä asiaa mielessä vaan haahuilet päättömästi ja yrität löytää "oppaita" eli valmista koodia johonkin tsättiin tai automaattiseen täydennykseen. Eihän näillä edes ole mitään tekemistä ajaxin tai jsonin tai minkään muunkaan buzzwordin kanssa. Ne ovat kokonaisia featureita, jotka koostuvat useista eri osista. Kyllähän sulla web-koodarina täytyy olla jonkinlainen käsitys siitä, miten tekisit vaikka JQuery UI:n Autocompleten tyylisen widgetin, vaikket olisi koskaan aiemmin miettinyt sellaisen taustoja.*

Ja jos luit edellisen viestini, niin totesinkin, ettei json ole synonyymi ajaxille ja ettei se edes ole yksittäisenä asiana mitenkään merkittävä. Epäilyni osuikin siis suurin piirtein oikeaan.

* Siltä varalta ettei oikeasti hokaise itse, niin tässäpä on itsestäänselvyydet ääneen sanottuina:
1. Käyttäjä syöttää tekstiä
2. Ajaxilla lähetetään syöte palvelimelle
3. Palvelin suorittaa haun
4. Palvelin tulostaa vastauksen selaimelle / vastaa ajax-pyyntöön
5. Selain käsittelee vastauksen datan eli näyttää hakutulokset

No olipas ihan vitun vaikeata.

p99o [28.07.2013 18:47:48]

#

Menee niin metsään, ja sitten vielä väität että olen tyhmä.

Lisäys:

Tämän verran saan tehtyä, että tulee data ilmoituksena.
Mitenhän tuosta sitten tulostaisi vaikka järkevää html-sisältöä.

$(document).ready(function () {
	$('#btnGetData').click(function() {
		$.ajax({
			type: "GET",
			url: 'getData.php?id='+7,
			async: false,
			beforeSend: function(x) {
			},
			dataType: "json",
			success: function(data) {
				alert(data);
			}
		});
	});
});

qeijo [28.07.2013 20:10:36]

#

Mitäs dataa sieltä tuli? Parsi JSON vaikka HTML listaan huvin vuoksi.

The Alchemist [28.07.2013 20:10:53]

#

Josset osaa html:ää kirjoittaa, niin sitten sinun kannattaisi opetella html:n perusteetkin. Lisäksi joutunet lukemaan dom-manipuloinnin perusteista (jQueryä käyttäen).

Ja jos lähdetään taas ajattelemaan asioita ammattimaisesti puhtaasti tuloshakuisen lähestymistavan sijaan, niin unohtaisin käsin käpisteltävät ajax-kyselyt ja käyttäisin jotain js-kirjastoa (esim. Backbone), joka tarjoaa sopivan mallikerroksen. Lisäksi unohtaisin dom-manipulaatiot ja muut kaikkailut ja käyttäisin template-moottoria (vaikkapa Underscore.js).

qeijo [28.07.2013 20:13:42]

#

<!DOCTYPE html>
<html>
<head>

	<meta charset="UTF-8">
	<title>Ajax esimerkki</title>
	<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

	<script>

		$(document).ready(function() {

			$('#vihannesvalitsin').change(function() {

				$('#vihannekset').empty();

				var url = 'data.php?query=' + $(this).val();

				$.getJSON(url, function(data) {

					$.each(data, function(key, val) {

						$('#vihannekset').append('<li>' + val + '</li>');
					});
				});
			});
		});

	</script>

	</head>
	<body>

		<h1>Vihannekset:</h1>

		<select id="vihannesvalitsin">
			<option value="0">Valitse vihanneslaji</option>
			<option value="1">Juurivihannekset</option>
			<option value="2">Verso- ja lehtivihannekset</option>
			<option value="3">Kukintovihannekset</option>
		</select>

		<ul id="vihannekset">
		</ul>

	</body>
</html>
<?php

//data.php, yli yksinkertaistettua logiikkaa

if (!isset($_GET['query'])) {
	http_response_code(404);
	exit;
}

header('Content-Type: application/json; charset=utf-8');

switch ($_GET['query']) {

	case 1:
		$response = array (
			'Bataatti',
			'Nauris',
			'Peruna',
			'Selleri',
			'Porkkana'
		);
		break;

	case 2:
		$response = array (
			'Fenkoli',
			'Kaali',
			'Kardoni',
			'Keltasipuli'
		);
		break;

	case 3:
		$response = array(
			'Herne',
			'Härkäpapu',
			'Maissi',
			'Munakoiso',
			'Paprika'
		);
		break;

	default:
		$response = array();
}

print json_encode($response);

p99o [28.07.2013 20:16:10]

#

The Alchemist kirjoitti:

Josset osaa html:ää kirjoittaa, niin sitten sinun kannattaisi opetella html:n perusteetkin.

Mikä sun ongelmas on?

The Alchemist [28.07.2013 20:17:52]

#

Itsehän sinä sanoit, ettet osaa tehdä datallesi esitysmuotoa. Jos osaat html:ää käpistellä, niin sittenhän ongelmaa ei pitäisi olla. What did we miss?

p99o [28.07.2013 20:38:05]

#

Poistakaa vaan koko keskustelu

qeijo [28.07.2013 20:44:48]

#

Älä lannistu The Alchemist (kin) on välillä persreikä.

Lumpio- [28.07.2013 21:13:38]

#

0/5 lanka

AP:n asenne -1/5


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta