2017-01-07 3 views
0

Итак, у меня есть этот скрипт, который должен извлекать значение из TXT-файла, который обновляется каждые 10 секунд. Однако .txt изменяется каждые 10 секунд, согласно плану, но на веб-сайте отображается только 1 как значение, которое мне нужно загрузить.JQuery.get возвращает только 1

<!doctype html> 
<html> 
    <head> 
     <title>RNJESUS</title> 
     <link rel="icon" href="rnjesus.ico"> 
     <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
    </head> 

    <body background="rnjesus.jpg" style="background-size: 100%" text="white"> 
    <br><br><br><br><br><br><br><br><br><br><br> 
    <p align="center"> Üdvözlégy a félkész szerencsejáték szimulátorban. <br> 
        4 dologra lehet fogadni: 50 alatt, felett és ezen belül páros vagy páratlan.<br> 
        A Random Number Geisus (RNJézus) kisorsol neked egy számot 0 és 100 között. <br> 
        10 vagy az alatt, 90 vagy a felett, és kereken 50-nél a "ház" nyer. <br> 
        Jó játékot, és ne felejtkezz el imátkozzni RNJesushoz.<br> 
    </p> 

    <p align="center"> 
     Mennyivel akarsz beszállni?<br> 
     <input type="number" min="1" name="fogcredit"> 
     <button onclick="otvenalatt()">Fogadás: 50 alatt.</button> 
     <button onclick="otvenfelett()">Fogadás: 50 felett.</button> 
     <button id="start" onclick="bevitel()"> My body is ready </button> 
    </p> 
    <h1 align="center" id="warning"></h1> 
    <div align="center" id="creditcount"></div> 
    <div align="center" id="timer"></div> 
    <div align="center" id="szam"></div> 
    <div align="center" id="otven"></div> 
    <div align="center" id="paratlan"></div> 
    <h2 align="center" id="nyeremeny" ></h2> 


    <script src="jQuery.js"></script> 
    <script> 
    //<![CDATA[ 
     var frn 
     var otvenvar; 
     var nyeremenycredit; 
     var credit = 100 
     var otvenvar 
     var fogbevitel 
     var fogadas 
     var nyeremenycredit 
     var credit 
     var ido = 10 


     jQuery.get("szamok.txt", function(data){ 
      frn = data; 
     }); 



     function bevitel(){ 
     fogadas = document.getElementsByName("fogcredit")[0].value; 
     } 

     document.getElementById("creditcount").innerHTML = ("Jelenlegi krediteid:" + credit); 
     function otvenfelett(){ 
     otvenvar = 1; 
     } 
     function otvenalatt(){ 
     otvenvar = 0; 

     } 
     setInterval(function jesus(){ 
      if (credit > fogadas || credit == fogadas){ 
       document.getElementById('szam').innerHTML = ("Szám: " +frn); 
       credit = credit - fogadas; 
       nyeremenycredit = 0 
       document.getElementById("warning").innerHTML = (""); 

       if (frn < 11){ 
        document.getElementById('otven').innerHTML = ('The house always wins.'); 
        document.getElementById('paratlan').innerHTML = ("Mivel a ház nyert, nem számít hogy páros vagy pártalan."); 
        document.getElementById("creditcount").innerHTML = ("Jelenlegi krediteid:" + credit); 
        fogadas = 0 
       } 

       if (frn > 89){ 
        document.getElementById('otven').innerHTML = ("The house always wins."); 
        document.getElementById('paratlan').innerHTML = ("Mivel a ház nyert, nem számít hogy páros vagy pártalan."); 
        document.getElementById("creditcount").innerHTML = ("Jelenlegi krediteid:" + credit); 
        fogadas = 0 
       } 

       if (frn == 50){ 
        document.getElementById('otven').innerHTML = ("The house always wins."); 
        document.getElementById('paratlan').innerHTML = ("Mivel a ház nyert, nem számít hogy páros vagy pártalan."); 
        document.getElementById("creditcount").innerHTML = ("Jelenlegi krediteid:" + credit); 
        fogadas = 0 
       } 

       if (frn > 10 && frn < 50){ 
        document.getElementById('otven').innerHTML = ("50 alatt nyert."); 
        document.getElementById("creditcount").innerHTML = ("Jelenlegi krediteid:" + credit); 

        if (otvenvar == 0){ 
         nyeremenycredit = fogadas * 2; 
         credit = credit + nyeremenycredit; 

         document.getElementById("creditcount").innerHTML = ("Jelenlegi krediteid:" + credit); 
        } 

        if (frn % 2 == 0){ 
         document.getElementById('paratlan').innerHTML = ('Páros szám nyert.'); 
         document.getElementById("creditcount").innerHTML = ("Jelenlegi krediteid:" + credit); 
         fogadas = 0 
        } 

        else{ 
         document.getElementById('paratlan').innerHTML = ('Páratlan szám nyert.'); 
         document.getElementById("creditcount").innerHTML = ("Jelenlegi krediteid:" + credit); 
         fogadas = 0 
        } 

       } 

       if (frn < 90 && frn > 50){ 
        document.getElementById('otven').innerHTML = ("50 felett nyert."); 
        if (otvenvar == 1){ 
         nyeremenycredit = fogadas * 2; 
         credit = credit + nyeremenycredit; 

         document.getElementById("creditcount").innerHTML = ("Jelenlegi krediteid:" + credit); 
        } 

        if (frn % 2 == 0){ 
         document.getElementById('paratlan').innerHTML = ("Páros szám nyert."); 
         document.getElementById("creditcount").innerHTML = ("Jelenlegi krediteid:" + credit); 
         fogadas = 0 
        } 

        else{ 
         document.getElementById('paratlan').innerHTML = ("Páratlan szám nyert."); 
         document.getElementById("creditcount").innerHTML = ("Jelenlegi krediteid:" + credit); 
         fogadas = 0 
        } 

       } 
      } 

      jQuery.get("szamok.txt", function(data){ 
       frn = data 
      }) 

      if (credit < fogadas){ 
      document.getElementById("warning").innerHTML = ("Nincs elég credit!"); 
      } 
     }, 10000); 

     setInterval(function(){ 
      if (ido > 0){ 
       ido = ido - 1; 
       document.getElementById("timer").innerHTML = ("Ennyi idő van hátra:" + ido); 
      } 
      if (ido === 0){ 
       document.getElementById("timer").innerHTML = ("Sorsolás megtörtént."); 
       ido = 10; 
      } 
     }, 1000); 
    //]]> 
</script> 
    </body> 
</html> 

Весь код выше. У меня нет ошибок в консоли. Что я делаю неправильно?

ответ

0

Я думаю, это потому, что браузер кэширует HTTP-запрос и не делает GET-запрос на тот же URL-адрес. Попробуйте сделать вот так:

jQuery.get("szamok.txt?v=" + Math.random(), function(data){ 
    frn = data 
}); 
+0

Лучшее увеличение счетчика вместо использования 'Math.random()', поскольку вы запускаете риск вызова из того же значения версии, что и предыдущий запрос. – Prusprus

+0

Большое спасибо! Я не понимаю, что там делает математический случай, когда он должен быть на стороне сервера в отдельном сценарии, но, как ни странно, он работает! Не могли бы вы объяснить, что он там делает? –

+0

@CsabaKiss: кеширование браузера по URL-адресу, поэтому изменение URL-адреса случайно останавливает кешированные ответы от повторного использования. Однако ваш сервер должен отправить 'Cache-Control' с низким' max-age' или 'no-cache'. – Ryan

Смежные вопросы