[JS]Jak pobrać dane z pliku?


(Podeszwaaaaaa) #1

Witam!

Mam taki problem ze skryptem w Javascript. Mam plik: dane.txt i potrzebuje z niego pobrać zmienną: "pozycja1". Próbowałem zrobić to za pomocą:

document.write('<'+'script type="text/javascript" src="dane.txt">'+'script>');

Ale niestety nic to nie pomogło, ponieważ dane załadowały się raz, a ja potrzebuje aby były aktualne cały czas. index.html

[/code] dane.txt
[code]pozycja1=0

Pozdrawiam i proszę o pomoc!


(Drobok) #2

JS działa po stronie klienta. Nie możesz tak pobierać danych.

Twoim sposobem pobierasz dane tylko raz (po prostu na sztywno to dajesz).

Na twoim miejscu użyłbym zapytania ajax, oraz pliku php. W php pobierałbym zawartość zmiennej i ją wyświetlał. A w ajax tylko pobierał właśnie zwrot z zapytania do w/w pliku php :slight_smile:


(Podeszwaaaaaa) #3

Używam takiego skryptu do wyświetlania danych do pliku:

setTimeout("funkcjaDoWywolania()",1000);


var XMLHttpRequestObject = false;


if (window.XMLHttpRequest){

  XMLHttpRequestObject = new XMLHttpRequest();

}

else if (window.ActiveXObject){

  XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");

}


function funkcjaDoWywolania(){

  if(XMLHttpRequestObject){

    var p = document.getElementById("pt1");

    XMLHttpRequestObject.open("GET", "dane.txt");

    XMLHttpRequestObject.onreadystatechange = function()

    {

      if (XMLHttpRequestObject.readyState == 4 &&

          XMLHttpRequestObject.status == 200) {

        p.innerHTML = XMLHttpRequestObject.responseText;

      }

    }

    XMLHttpRequestObject.send(null);

  }

  setTimeout("funkcjaDoWywolania()",1000);

}

Więc dlaczego nie można tych danych załadować do funkcji?