Stránka: 1 z 1
| [ Príspevkov: 21 ] | |
Autor | Správa |
---|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 | 81 |
mam takyto script ktory mi bezproblemu funguje v pripade ze odpoved poslem do dalsej funkcie chcem aby my dal data do x=getAnswer(nieco,nieco) lenze ked zmazem callback funkciu a nahradim ju return vrati UNDEFINED(js ajax neovladam )
Kód: function getAnswer(url, data, callbackFunkce) { var XMLHttpRequestObjekt = false;
if (window.XMLHttpRequest) { XMLHttpRequestObjekt = new XMLHttpRequest(); } else if (window.ActiveXObject) { XMLHttpRequestObjekt = new ActiveXObject("Microsoft.XMLHTTP"); }
if(XMLHttpRequestObjekt) { XMLHttpRequestObjekt.open("POST", url); XMLHttpRequestObjekt.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
XMLHttpRequestObjekt.onreadystatechange = function() { if (XMLHttpRequestObjekt.readyState == 4 && XMLHttpRequestObjekt.status == 200) { callbackFunkce(XMLHttpRequestObjekt.responseText); delete XMLHttpRequestObjekt; XMLHttpRequestObjekt = null; } }
XMLHttpRequestObjekt.send(data); } }
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Absolutne nechapem. Nemozes volat getAnswer(nieco,nieco), kedze neskor sa pracuje s tretim parametrom.
|
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 | 81 |
ide mi o prerobenie funkcie a vynechanie tretieho param. napr funkcia function getAnswerHere(url, data), lenze skusal som return XMLHttpRequestObjekt.responseText; (:( metoda plug and play) a vysledok bol UNDEFINED
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Tak z deklaracie fcie vynechaj ten treti parameter
Kód: function getAnswer(url, data) Dalej zmaz ten riadok, v ktorom 3.parameter pouzivas: Kód: callbackFunkce(XMLHttpRequestObjekt.responseText);
A mozes si to prerabat. S responseText-om pracuj len v tej vetve if readyState==4 atd. Lepsie by bolo, keby si hodil uplne cely kod, lebo neviem, ako to prerabas a ako tu fciu volas. Pripadne daj odkaz na zivu ukazku.
|
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 | 81 |
nemam to na webe takze takto mi to funguje
Kód: <script type="text/javascript" src="ajaxScripts.js"></script>--->tu je ta funkcia getAnswer . . . <script> function kartaKopa(){ getAnswer('farao.php', 'dajkartu=1', kartaKopa2);//vrati img pre kopu } function kartaKopa2(text){ document.getElementById('kopa').innerHTML = (text);//zobrazi na kope } . . . </script> . . <div id="kopa"></div> . .
lenze volam tu funkciu viackrat z inymi parametrami a zacina sa mi riadne pliest kod a prestavam sa vyznat v algoritme ked musim skakat z jednej funct do druhej atd. Ani zmazanie riadku nepomohlo , prva vec co ma napadla prepisat ho tym return a vysledok rovnaky chcel by som to spojazdnit takto Kód: function kartaKopa(){ var ans=getAnswerHere('farao.php', 'dajkartu=1');//vrati img pre kopu document.getElementById('kopa').innerHTML = (ans); }
|
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 | 81 |
ja sa znovu ospravedlnujem... pri mazani riadku som zrusil aj bodkociarku
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Kód: function getAnswer(url, data) { var XMLHttpRequestObjekt = false;
if (window.XMLHttpRequest) { XMLHttpRequestObjekt = new XMLHttpRequest(); } else if (window.ActiveXObject) { XMLHttpRequestObjekt = new ActiveXObject("Microsoft.XMLHTTP"); }
if(XMLHttpRequestObjekt) { XMLHttpRequestObjekt.open("POST", url); XMLHttpRequestObjekt.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
XMLHttpRequestObjekt.onreadystatechange = function() { if (XMLHttpRequestObjekt.readyState == 4 && XMLHttpRequestObjekt.status == 200) { return XMLHttpRequestObjekt.responseText; } } XMLHttpRequestObjekt.send(data);
} } S tou bodkociarkou nechapem ako si to myslel, v JS su bodkociarky na koncoch riadkov nepovinne.
|
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 | 81 |
dakujem ti velmi pekne, som porovnaval zalohu s pracovnou verziou a na localhoste som mal pustenu zalohu a pisal som do toho prac. suboru takze mi vsetko chvilku fungovalo .
edit ale teraz mi to tiez nefunguje vypisuje undefined volam to takto (samozrejme AJAXfunkciu som aj premenoval na getAnswerHere) Kód: function kartaKopa(){ var KnK = getAnswerHere('farao.php', 'dajkartu=1');//vrati img pre kopu document.getElementById('kopa').innerHTML = (KnK);//zobrazi na kope }
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
XMLHttpRequest.send je asynchrónna funkcia. Keď ju zavoláš, ovládanie sa vráti okamžite do tej tvojej funkcie getAnswer a tá funkcia sa hneď ukončí (v takom prípade tam ty ale nemáš odpovedajúce return, takže návratová hodnota je nedefinovaná).
Neskôr, keď príde odpoveď, tak sa tam síce použije return, ale na ten výsledok už nikto nečaká.
Teda ak tam naozaj nechceš použiť callback a ak vždy tú návratovú hodnotu dávaš cez innerHTML do nejakého elementu, tak tej funkcii môžeš dať ako parameter id toho elementu a to nastavenie urobíš v tom onreadystatechange.
|
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 | 81 |
nie, ta funkcia ktorou volam getAnswerHere(), ma dalsich niekolko krokov a je nutne aby sa spustali postupne,
popripade menej elegantne riesenie ma napadlo...pojde to aj cez vnorene funkcie?
tj
funkcia1()
getAnswer(daco,daco,funcia2)
funkcia2()
getAnswer(daco,daco,funcia3)
funkcia3()
daco
}
}
}
? a zachova sa postupnost?
|
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 | 81 | |
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Odosielaj data POST metodou, nie GET.
|
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 | 81 |
ved ten script odosiela cez post nie?
a schvalne som skusil vlozit 500 znakov a odoslalo 502 uz nie a potrebujem cca700
|
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 | 30 Bydlisko: Bratislava |
Skus skontrolovat post_max_size v phpinfo();
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 | 81 | |
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 | 30 Bydlisko: Bratislava |
25 mega... to je priblizne 500 znakov nie?
Ok, vazne... orezava ti len poslednu hodnotu, alebo vsetky?
Co ak tam das 2 s dlzkou 700 bytov?
Z prvej odosle len 500 a druha na server vobec nepride, alebo dojdu obe orezane na 500?
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 | 81 |
--posielam to do db a jednoducho nevlozi zapis
aha mea culpa skontroloval som echo a postom hodnota prejde len do db sa neulozi cize nieje chyba v ajaxe ale daka ina zahada premna to sposobuje
pritom mam standardnu sql poziadavku a stlpec ma povolenych 1024znakov
$dotaz=("UPDATE indexus SET $thing=('$msg') WHERE lang=$lang");
|
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 | 30 Bydlisko: Bratislava |
daj si zato este echo $dotaz nech vies na 100% aky prikaz databaze posielas...
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 | 81 |
skontrolovane $dotaz je v poriadku ale nefunguje
|
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 | 30 Bydlisko: Bratislava |
urcite si nieco prehliadol.
skus ten dotaz spustit cez phpMyAdmina, alebo cez nieco podobne, tam ti lepsie vypise chybu.
PRavdepodobne updatujes polozu ktora ma dlzku len 500 znakov
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 | 81 |
nie este vcera som zvecsil dlzku na varchar(1516)
a pred odoslanim som si dal echo
UPDATE indexus SET dressSmsg=('toto je update ...cez 500 char...about-the-universe mixture') WHERE lang=0
pokial je tam menej ako 500 tak sa updatne
Kód: -- -- Štruktúra tabuľky pre tabuľku `indexus` --
CREATE TABLE IF NOT EXISTS `indexus` ( `lang` int(1) NOT NULL, `indexSmsg` varchar(1516) COLLATE utf8_slovak_ci NOT NULL COMMENT 'short message(up right)', `indexMsg` varchar(1516) COLLATE utf8_slovak_ci NOT NULL COMMENT 'message (upright popup)', `bagsSmsg` varchar(1516) COLLATE utf8_slovak_ci NOT NULL, `bagsMsg` varchar(1516) COLLATE utf8_slovak_ci NOT NULL, `dressSmsg` varchar(1516) COLLATE utf8_slovak_ci NOT NULL, `dressMsg` varchar(1516) COLLATE utf8_slovak_ci NOT NULL, `otherSmsg` varchar(1516) COLLATE utf8_slovak_ci NOT NULL, `otherMsg` varchar(1516) COLLATE utf8_slovak_ci NOT NULL, `contactsSmsg` varchar(1516) COLLATE utf8_slovak_ci NOT NULL, `contactsMsg` varchar(1516) COLLATE utf8_slovak_ci NOT NULL, PRIMARY KEY (`lang`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_slovak_ci COMMENT='table with index messages';
|
|
Stránka: 1 z 1
| [ Príspevkov: 21 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v PHP, ASP | 4 | 441 | 16.10.2011 16:26 Dawn | | v Assembler, C, C++, Pascal, Java | 2 | 380 | 25.10.2014 10:37 dany2281995 | | v Obchody, reklamácie a právo | 2 | 797 | 03.07.2010 13:30 petKO | | v JavaScript, VBScript, Ajax | 2 | 638 | 25.02.2012 18:45 iop | | v Assembler, C, C++, Pascal, Java | 4 | 444 | 12.07.2012 12:43 HT | | v Počítačové hry | 18 | 1490 | 18.09.2006 19:20 Harlequin | | v JavaScript, VBScript, Ajax | 7 | 377 | 10.06.2014 22:57 hatto13 | | v JavaScript, VBScript, Ajax | 2 | 488 | 13.10.2010 15:42 emer | | v Operačné systémy Unix a Linux | 0 | 506 | 17.09.2016 12:31 JanoF | | v Android, iOS, Windows Phone (Mobile) | 1 | 2744 | 17.07.2017 11:22 mackooo | | v Počítačové hry | 4 | 802 | 15.06.2008 20:23 Daron | | v Obchody, reklamácie a právo | 9 | 2291 | 29.03.2016 0:48 raf | | v Ovládače | 7 | 1271 | 09.09.2017 20:37 Smith Wesson | | v PC zostavy | 13 | 950 | 28.09.2023 20:23 johny314 | | v Počítačové hry | 2 | 629 | 13.06.2012 18:02 PepeTheDragon | | v Kôš | 1 | 38 | 25.04.2017 20:16 JanoF |
|