Autor Zpráva
final
Profil
Zdravím, mám takýto kód
var premenna = 10;
setInterval(function(){
    $("#div").html(premenna);    
}, 5000);
function ajax() {
  $.post('subor.php', function(data) { // data obsahuje <script>premenna=5;</script>
    $("body").html(data); // je to nutné?
  });
}
ajax();
Ide mi o to aby sa do divu vypísalo číslo 5 a nie 10, lenže stále sa tam vypisuje číslo 10
Chamurappi
Profil
Reaguji na finala:
// data obsahuje <script>premenna=5;</script>
Do textového řetězce si můžeš psát, co chceš, HTML se v něm samovolně neinterpretuje.

$("body").html(data); // je to nutné?
Při přiřazení do innerHTML se neinterpretují elementy <script>.

Budeš si muset v datech poslat něco, co v callbacku rozpoznáš a podle čeho si nastavíš proměnnou premenna.
Joker
Profil
No jestli ten výsledek obsahuje kód "<script>premenna=5;</script>", to bude lepší rovnou posílat zpátky jen 5 a pak jednoduše udělat promenna = parseInt(data, 10);
final
Profil
Hm, no neviem prečo ale zrazu mi vyššie uvedený kód funguje [FF 22]. V iných prehliadačoch som to netestoval, ale snáď to bude fungovať aj inde.

Chamurappi:
Do textového řetězce si můžeš psát, co chceš, HTML se v něm samovolně neinterpretuje.
Samovolne nie, preto som použil html()

Při přiřazení do innerHTML se neinterpretují elementy <script>.
Evidentne hej.

Joker:
to bude lepší rovnou posílat zpátky jen 5
To je lepšie riešenie, ale problém je ten, že počet premenných môže byť náhodný od 1 po 10
Radek9
Profil
final:
Vrať si je jako JSON (v PHP k tomu slouží funkce JSON_encode), použij JSON.parse pro jejich vytažení a pracuj s tím jako s objektem.
_es
Profil
final:
snáď to bude fungovať
Aj si sa zamyslel nad tým ako nejako funguje? Prepisuješ celý obsah elementu body. Zdá sa ti to správne?
final
Profil
Radek9:
A má to zmysel keď mi to funguje aj hentak?
_es:
Hento bol ukážkový kód..Momentálne tam mám append
Joker
Profil
final:
A má to zmysel keď mi to funguje aj henkta?
Měl jsem dojem, že předmětem vlákna je právě to, že to nefunguje.
final
Profil
Joker
Áno, ale ako som napísal v [#4] zrazu mi ten kód funguje.
Radek9
Profil
final:
To je ale prasárna. jQuery ty přidané scripty prohání přes eval. Kdyby sis prostě místo těch několika proměnných předal objekt a zpracoval ho, tak by to bylo čistší a univerzálnější.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: