Autor | Zpráva | ||
---|---|---|---|
AntonP Profil |
#1 · Zasláno: 14. 10. 2018, 14:36:29
Dobrý deň,
dalo by sa nejako prečítať obsah txt súboru (samozrejme nachádza sa na tom istom serveri ako je hlavný script) do javascript premennej? Teraz mám js script: function readTempVar() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var temp = this.responseText; return temp; } }; xhttp.open("POST", "temp.txt", true); xhttp.send(); } var mail = readTempVar(); |
||
Mlocik97 Profil |
|||
Keeehi Profil |
#3 · Zasláno: 14. 10. 2018, 15:33:50
AntonP:
Problém toho přístupu je, že AJAX je asynchronní (to je to první písmeno). To znamená že v době kdy se ze serveru vrátí odpověď je script už daleko za řádkem 13. Do té proměnné mail se dostane návratová hodnota funkce readTempVar (kterou nedefinuješ, proto ta ani nic není) a ne ta návratová hodnota té anonymní funkce. S tou přečtenou hodnotou musíš pracovat uvnitř té anonymní funkce. Takže pokud ji chceš někam vypsat, bude to nejlepší už tam. <div id="mail"></div> <script> function readTempVar() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("mail") = this.responseText; } }; xhttp.open("POST", "temp.txt", true); xhttp.send(); } readTempVar(); </script> |
||
Časová prodleva: 6 let
|
0