Gacha Posted July 27, 2005 Report Share Posted July 27, 2005 Vajadzīga elementāra lieta, ar XMLhttp funkciju izsaucu urli ar attiecīgajiem parametriem un iegūstu atbildi, šo atbildi nepieciešams apstrādāt šai pašā funkcijā, bet man neizdodas to dabūt, iegūstu vērtību tikai 2x izsaucot funkciju, saprotu, ka kaut kas nav pareizi ar to data, bet kas tieši, nevaru saprast. var data = ''; function bumbum(){ var xmlhttp = false; try{xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");} catch(e){try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch(e){try { xmlhttp = new XMLHttpRequest();} catch(e){xmlhttp = false;}}} if(!xmlhttp) return null; xmlhttp.open("GET",'atbilde.php',true); xmlhttp.onreadystatechange = function(){if(xmlhttp.readyState==4){data = xmlhttp.responseText}} xmlhttp.send(null); alert(data); return false; } Link to comment Share on other sites More sharing options...
bubu Posted July 27, 2005 Report Share Posted July 27, 2005 (edited) Nomaini true trešajā parametrā uz false open() fjai. Edit: kāpēc tā notiek? true - asinhronais izsaukums, alert(data) nostrādās pirms vēl izsaukums beidzies (tb paralēli ar to data = ... responseText. false - sinhronais, kods apstājas, līdz send patiešām beidz darbu. Nu otrs variants - alert(data) linkt iekš tās tavas anonīmās fjas, nevis ārpusē. Kas laikam arī būtu viskorektāk. Edited July 27, 2005 by bubu Link to comment Share on other sites More sharing options...
Delfins Posted July 27, 2005 Report Share Posted July 27, 2005 jā, te viss ir OK. izņemot to ka tas alert(data) ir lieks... pieņemu ka tas ir ielikts `debugošanai` izņem, un tālāk viss aizies :) turklāt anonīmo funkciju labāk nomainīt uz kādu referenci, un tad `tā cita` f-ja izdara ko vajag Link to comment Share on other sites More sharing options...
Gacha Posted July 27, 2005 Author Report Share Posted July 27, 2005 (edited) alert() ir prieksh debugushanas. Nomainiju open() f-cijai pedejo parametru uz false un nekas nemainaas, tagad pat ar 2x neparadas iegutais teksts. Gribu, lai data mainigajam piešķirtu to vērtību un tālāk es to varētu apstrādāt. Edited July 27, 2005 by Gacha Link to comment Share on other sites More sharing options...
bubu Posted July 27, 2005 Report Share Posted July 27, 2005 (edited) Nu tad šitā te, un kamēr driikst_data_aiztikt==false, tad nedriikst aiztikt data: var data = ''; var driikst_data_aiztikt = false; function bumbum(){ ... xmlhttp.open("GET",'atbilde.php',true); xmlhttp.onreadystatechange = function(){ if (xmlhttp.readyState==4) { data = xmlhttp.responseText; driikst_data_aiztikt = true; } } xmlhttp.send(null); return false; } vai arī: var data = ''; function bumbum(){ ... xmlhttp.open("GET",'atbilde.php',false); xmlhttp.send(null); data = xmlhttp.responseText; return false; } Edited July 27, 2005 by bubu Link to comment Share on other sites More sharing options...
Gacha Posted July 27, 2005 Author Report Share Posted July 27, 2005 He, 2 variants strādā smuki un jauki, bet otrais gan ne. Link to comment Share on other sites More sharing options...
bubu Posted July 27, 2005 Report Share Posted July 27, 2005 (edited) He, 2 variants strādā smuki un jauki, bet otrais gan ne. 19948[/snapback] Abi ir otrie? Vienīgais mīnuss otrajam variantam, manuprāt, ja ir lēns internets, tad browseris sastings uz pieprasījuma laiku (tipa nokārsies) :) Tas ir nesmuki. Labāk ir to asinhrono variantu ņemt, lai arī tas nedaudz sarežģītāks.. Edited July 27, 2005 by bubu Link to comment Share on other sites More sharing options...
Gacha Posted July 27, 2005 Author Report Share Posted July 27, 2005 Biju domajis, ka 2 strada, bet 1 nee :P Nu nesanāk man izveidot tā kā 1 variantā, jo neizprotu to sistēmu. Varbūt varētu mazu piemēru, bet mazliet apgaismot arī, kas un kapēc. Link to comment Share on other sites More sharing options...
bubu Posted July 27, 2005 Report Share Posted July 27, 2005 Nu rekur nelieli piemēri ar abiem pieprasījumiem: http://jpspan.sourceforge.net/wiki/doku.ph...javascript: xmlhttprequest:behaviour://http://jpspan.sourceforge.net/wiki/...quest:behaviour Link to comment Share on other sites More sharing options...
Gacha Posted July 27, 2005 Author Report Share Posted July 27, 2005 No tā tava linka dabuju šo linku, kur viss labāk var redzēt to darbībā. tnx bubu Link to comment Share on other sites More sharing options...
bubu Posted July 27, 2005 Report Share Posted July 27, 2005 Tikai uzmanīgi - tur ir teksts "Mozilla only" :) Link to comment Share on other sites More sharing options...
Gacha Posted July 28, 2005 Author Report Share Posted July 28, 2005 To es pamanīju, bet lietai, kur es izmantošu šo tehniku 99% lietotāji lieto IE. Bik kodu palabojot uzdabūju, ka uz IE arī strādā, tik ir vēl viena problēma - IE kaut ko kešo un tas man neder, jo atbildes var mainīties :/ Link to comment Share on other sites More sharing options...
bubu Posted July 28, 2005 Report Share Posted July 28, 2005 Šai pašā lapā: http://jpspan.sourceforge.net/wiki/doku.ph...javascript: xmlhttprequest:behaviour://http://jpspan.sourceforge.net/wiki/...quest:behaviour ir sadaļa "HTTP Caching" :) Link to comment Share on other sites More sharing options...
Gacha Posted July 28, 2005 Author Report Share Posted July 28, 2005 Pirms 2sec, kad refreshoju shito lapu, pats jau tik tālu biju aizdomajies, un tagad viss strādā, bet galvenais, ka arī izspratu to visu fišku par tiem kalbakiem un kā tas viss strādā. Link to comment Share on other sites More sharing options...
Recommended Posts