Witam po raz x, znów muszę poradzić się ekspertów ponieważ przy uruchomieniu strony jaką zrobiłem na bazie pliku json, js i html nie wyświetla się dokładnie to o co mi chodziło
Przejdźmy do rzeczy, oto pliki
books.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Podstawy technologii AJAX - Javascript i XML</title>
<script type="text/javascript" src="books.js"></script>
</head>
<body onload="process()">
<p>Serverze jakie sa twoje ulubione ksiazki?</p>
<div id="myDivElement">
</body>
</html>
books.js
//Przechowuje obiekt XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();
//Tworzy obiekt klasy XMLHttpRequest
function createXmlHttpRequestObject(){
var xmlHttp
try{
xmlHttp = new XMLHttpRequest();
}
catch(e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
}
catch(e){}
}
if(!xmlHttp)
alert("Blad podczas tworzenia obiektu klasy xmlHttpRequest");
else
return xmlHttp;
}
//Odczytuje zawartosc pliku znajdujacego sie na serverze
function process(){
if(xmlHttp){
try{
xmlHttp.open("GET", "books.TXT", true);
xmlHttp.onreadystatechange = handleRequestStateChange;
xmlHttp.send(null);
}
catch(e){
alert("Nie udalo sie nawiazac polaczenia z serverem:\n" + e.toString());
}
}
}
//Funkcja wywolywana po zmianie statusu rzadania HTTP
function handleRequestStateChange(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
try{
handleServerResponse();
}
catch(e){
alert("Wystapil blad podczas odczytywania odpowiedzi: \n" + e.toString());
}
}
else
{
alert("Podczas pobierania danych wystapil blad:\n" + xmlHttp.statusText);
}
}
}
//Funkcja obslugujaca odpowiedz z servera
function handleServerResponse()
{
var jsonResponse = eval ('(' + xmlHttp.responseText + ')');
var html = "";
for( var i=0; i<jsonResponse.books.lenght; i++)
html += jsonResponse.books[i].title + ", " + jsonReponse.books[i].isbn + "<br />";
myDiv = getElementById("myDivElement");
myDiv.innerHTML = "<p> Server mowi: </p>" + html;
}
Oraz plik books.TXT który zawiera składnię json
{books:[
{title: "Ksiazka 1",
isbn: "78954-98"}
{title: "Ksiazka 2",
isbn: "78945-51"},
{title: "Ksiazka 3",
isbn: "1548-986"}
]}
Gdy otworzę w przeglądarce (testuje na oprze) plik books.html pojawia się http://imageshack.us/photo/my-images/717/servercf.png/
I tutaj moje pytanie, dlaczego server nie przesyła odpowiedzi z pliku books.TXT i nie wyświetla się jego zawartość?