Avaleht
uus teema   vasta Tarkvara »  WWW »  Stringide lahkamine märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
sakunne
HV veteran
sakunne

liitunud: 15.12.2004




sõnum 15.02.2012 16:47:15 Stringide lahkamine vasta tsitaadiga

Saan päringule nt sellised vastused:
{"1":{"query": "saare adiste","shortaddress": "Saare","fulladdress": "Põlva maakond, Põlva vald, Adiste küla, Saare", "lest-x": "6446563", "lest-y": "685449", "lat": "58.120991167538", "lon": "27.147987609251", "kat": "61902:001:0212"},
"2":{"query": "saare adiste","shortaddress": "Saare","fulladdress": "Põlva maakond, Põlva vald, Adiste küla, Saare", "lest-x": "6442893", "lest-y": "685352", "lat": "58.088117172745", "lon": "27.143426130261", "kat": "61902:003:0530"}}
või:
1. Saare [ x:6446563, y:685449 (B:58.120991167538, L:27.147987609251)](Põlva maakond, Põlva vald, Adiste küla, Saare) {61902:001:0212}
2. Saare [ x:6442893, y:685352 (B:58.088117172745, L:27.143426130261)](Põlva maakond, Põlva vald, Adiste küla, Saare) {61902:003:0530}
Nüüd oleks vaja nendest osised(fulladdress, x ,y, kat jne) eraldi muutujatena kätte saada.
Kas nt javaScriptis v PHP's on olemas selleks mingid vaikimisi vahendid v tuleb asi lahendada jõhkra stringianalüüsiga icon_rolleyes.gif
Ma ei oska JSON'i päris õieti rakendada icon_redface.gif
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 69
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Timukas0
HV kasutaja
Timukas0

liitunud: 20.03.2007




sõnum 15.02.2012 16:51:57 vasta tsitaadiga

Esimese puhul on tegu JSON-iga, selle jaoks nii PHP-s kui JavaScriptis vahendid olemas. Näiteks:
javascript:
  1. var responseStr = '{"1":{"query": "saare adiste","shortaddress": "Saare","fulladdress": "Põlva maakond, Põlva vald, Adiste küla, Saare", "lest-x": "6446563", "lest-y": "685449", "lat": "58.120991167538", "lon": "27.147987609251", "kat": "61902:001:0212"}, "2":{"query": "saare adiste","shortaddress": "Saare","fulladdress": "Põlva maakond, Põlva vald, Adiste küla, Saare", "lest-x": "6442893", "lest-y": "685352", "lat": "58.088117172745", "lon": "27.143426130261", "kat": "61902:003:0530"}}';
  2. var response = JSON.parse(responseStr);
  3. var address = response[1]['fulladdress'],
  4.     lestX = response[1]['lest-x'],
  5.     lestY = response[2]['lest-y'];
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 15.02.2012 16:52:31 vasta tsitaadiga

http://php.net/manual/en/function.json-decode.php

erilist keemiat ei tohiks olla!

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
sakunne
HV veteran
sakunne

liitunud: 15.12.2004




sõnum 15.02.2012 19:28:59 vasta tsitaadiga

keevitaja kirjutas:
erilist keemiat ei tohiks olla!
Ega olegi asi töötab, kuid üks küsimus veel:
päringule tuleb mitu aadressi(eeltoodud näites 2), kasutan
for (i=1; i<=[vastuste arv]; i++)
Kuidas ma saan selle "vastuste arv'u" kätte icon_rolleyes.gif
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 69
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 15.02.2012 20:10:08 vasta tsitaadiga

count($array)
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Timukas0
HV kasutaja
Timukas0

liitunud: 20.03.2007




sõnum 15.02.2012 21:54:58 vasta tsitaadiga

JavaScripti puhul see vastus on tegelikult objekt, mitte massiiv, seega võid sellist lahendust kasutada:
javascript:
  1. var i;
  2. for (i in response) {
  3.     // response[i]
  4. }

Kui tõesti vaja kokku lugeda, siis kasuta lisamuutujat, mida tsükli kehas järjest suurendad.
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 15.02.2012 22:11:11 vasta tsitaadiga

Js on masiivi pikkuse määramine ka võimalik

var m=Array('w', 'e', 'r');
alert(m.length)

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
sakunne
HV veteran
sakunne

liitunud: 15.12.2004




sõnum 15.02.2012 22:35:26 vasta tsitaadiga

Kuidas saada see päring url'i järgi kätte, proovisin 'jqury':
<script type="text/javascript"><!--
$(document).ready(function() {
  $('a.lnk').click(function() {
    var url = $(this).attr('href');
    $('#content').load(url);
    return false;
  });
});
--></script>
<a href="extern.html" title="Get extern" class="lnk">Get extern</a>
<div id="content">Initial content in test.html</div>
See jälle millegipärast väliseid URL'e ei lae (nt. http://neti.ee)
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 69
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 15.02.2012 22:46:25 vasta tsitaadiga

sakunne kirjutas:
Kuidas saada see päring url'i järgi kätte, proovisin 'jqury':
<script type="text/javascript"><!--
$(document).ready(function() {
  $('a.lnk').click(function() {
    var url = $(this).attr('href');
    $('#content').load(url);
    return false;
  });
});
--></script>
<a href="extern.html" title="Get extern" class="lnk">Get extern</a>
<div id="content">Initial content in test.html</div>
See jälle millegipärast väliseid URL'e ei lae (nt. http://neti.ee)
AJAX päringute tegemine väljaspoole lehe asukoha domeeni on minu meelest vaikimisi turvakaalutlustel kinni keeratud.
_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
sakunne
HV veteran
sakunne

liitunud: 15.12.2004




sõnum 15.02.2012 23:15:08 vasta tsitaadiga

Hmmm ... jama ju, kuida ma selle päringu saan siis?
_________________
Kuna ei pruugi õigel ajal foorumisse sattuda:
SMS: 5051598 [võõraid tel. ei vasta]
Email sakunne@seenior.ee
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 69
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 15.02.2012 23:28:42 vasta tsitaadiga

mis mõttes? oled kindel, et sa soovid crossdomain ajax requeste teha?
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
sakunne
HV veteran
sakunne

liitunud: 15.12.2004




sõnum 15.02.2012 23:34:08 vasta tsitaadiga

Kuidagi vaja kätte saada ju icon_rolleyes.gif
_________________
Kuna ei pruugi õigel ajal foorumisse sattuda:
SMS: 5051598 [võõraid tel. ei vasta]
Email sakunne@seenior.ee
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 69
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 15.02.2012 23:37:19 vasta tsitaadiga

ma ei ole ise sellega kokku puutunud, ehk google on abiks sulle

https://www.google.com/search?q=cross+domain+ajax+request&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:et:official&client=firefox-a

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 16.02.2012 12:35:44 vasta tsitaadiga

Kui serveri pool PHP-d kasutada saad, siis miks sa seda serveris teha ei taha? Kõige lihtsamal kujul siis midagi sellist:
<?php
readfile('http://www.neti.ee');
?>

readfile parameetriks pead andma siis selle URL-i, kust andmeid pärid ja AJAX-ga küsid enda PHP lehte.
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
sakunne
HV veteran
sakunne

liitunud: 15.12.2004




sõnum 16.02.2012 13:46:59 vasta tsitaadiga

keevitaja kirjutas:
mis mõttes? oled kindel, et sa soovid crossdomain ajax requeste teha?

napoleon kirjutas:
Kui serveri pool PHP-d kasutada saad, siis miks sa seda serveris teha ei taha? ...
Selles asi ongi, et sellele serverile ligi ei pääse ... Maa-Ameti oma nimelt eusa_wall.gif

PHP'ga sain kätte, a'peab vist ikka AJAX'iga Crossdomain tegema


viimati muutis sakunne 17.02.2012 15:13:35, muudetud 1 kord
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 69
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 16.02.2012 13:57:30 vasta tsitaadiga

Siis teedki oma serveris näiteks lehe geoportaal.php, mis on midagi sellist

<?php
readfile('http://geoportaal.maaamet.ee/url/ky-aadress.php?out=json&trim=1&aadress='.urlencode($_GET['aadress']));
?>

ja AJAX-s pöördud oma rakenduse poole näiteks geoportaal.php?aadress=Tamme
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
sakunne
HV veteran
sakunne

liitunud: 15.12.2004




sõnum 18.02.2012 20:22:53 vasta tsitaadiga

EDIT:
veel küsimus: kasutan
document.getElementById("valiAdr").innerHTML= ...
ja
<div id="valiAdr"></div>
viimasesse tekib päringu vastus, mida oleks vaja JSON parseriga töödelda
JSON.parse(see string)
tulemuseks tuleb siis:
http://www.therm.ee/_thermnet/kaart/json_test.html
a'seal on JSON kopipasteeritud
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 69
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 19.02.2012 13:30:22 vasta tsitaadiga

Kas sain nüüd valesti aru või küsid tõesti nii elementaarset asja:
kui sul on:
document.getElementById("valiAdr").innerHTML=<mis iganes>;
siis kõige lihtsamal kujul võid asendada:
var sisu=<mis iganes>;
//siin tee muutujaga sisu mis tahad
document.getElementById("valiAdr").innerHTML=sisu;

Muidugi on ka InnerHTML property loetav ehk töötab ka näiteks nii:
var sisu=document.getElementById("valiAdr").innerHTML
//siin tee muutujaga sisu mis tahad
document.getElementById("valiAdr").innerHTML=sisu;

...aga sel moel ei soovitaks asja lahendada

aga seda viimast ei soovita eriti kasutada.
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
sakunne
HV veteran
sakunne

liitunud: 15.12.2004




sõnum 21.02.2012 17:25:03 vasta tsitaadiga

napoleon kirjutas:
Kas sain nüüd valesti aru või küsid tõesti nii elementaarset asja:
...
Nii elementaarset asja ei küsigi ... viga oli hoopis mujal ... ja veel elementaarsem - näpukas icon_redface.gif
Aga tänud änivei beer_yum.gif
EDIT:
Baithevei - miks ei soovita sel moel asja laendada icon_rolleyes.gif
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 69
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 21.02.2012 18:18:43 vasta tsitaadiga

Selleks, et kui topid midagi InnerHTML'i, siis hakkab browser seda parsima ja renderdama, mis mõjub kehvasti jõudlusele. Kui tegemist on pisikese stringijupiga ja sa ei tee seda tüklis, siis pole võibolla väga hullu, aga suurema hulga andmetega võib mõne lahjema masina korralikult kooma tõmmata.
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
sakunne
HV veteran
sakunne

liitunud: 15.12.2004




sõnum 21.02.2012 19:40:26 vasta tsitaadiga

Achaa hakkab koitma icon_lol.gif
_________________
Kuna ei pruugi õigel ajal foorumisse sattuda:
SMS: 5051598 [võõraid tel. ei vasta]
Email sakunne@seenior.ee
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 69
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Stringide lahkamine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.