Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 15.12.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
Witam.
Zakupiłem niedawno książkę: "AJAX i PHP. Tworzenie interaktywnych aplikacji internetowych" (wyd. Helion) i mam niestety problem już na pierwszym przykładzie z tej książki (zapewne jakiś błąd w druku, bo kod jest prawie że w 100% skopiowany z książki). Niestety - moja mała (jeszcze) wiedza na temat AJAKSA nie pozwala mi rozwiązać problemu samodzielnie (uprzedzając pytania - Google też nie pomogło). Plik index.html:
Plik quickstart.js: Kod var xmlHttp = createXmlHttpRequestObject(); function createXmlHttpRequestObject() { var xmlHttp; if (window.ActiveXObject) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { xmlHttp = false; } } else { try { xmlHttp = new XMLHttpRequest(); } catch (e) { xmlHttp = false; } } if (!xmlHttp) { alert("Błąd podczas tworzenia obiektu XMLHttpRequest!"); } else { return xmlHttp; } } function process() { if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) { name = encodeURIComponent(document.getElementById("myName").value); xmlHttp.open("GET", "quickstart.php?name=" + name, true); xmlHttp.onreadystatechange = handleServerResponse; xmlHttp.send(null); xmlHttp.overrideMimeType("application/xhtml+xml; charset=utf-8"); } else { setTimeout("process()", 1000); } } function handleServerResponse() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { xmlResponse = xmlHttp.responseXML; xmlDocumentElement = xmlResponse.documentElement; helloMessage = xmlDocumentElement.firstChild.data; document.getElementById("ajaxMessage").innerHTML = "<em>" + helloMessage + "</em>"; setTimeout("process()", 1000); } else { alert("Wystąpił błąd podczas uzyskiwania dostępu do serwera: " + xmlHttp.statusText); } } } Plik quickstart.php:
Po otworzeniu strony pod Firefoksem, Firebug wyrzuca cały czas jeden i ten sam error:
Moje pytanie brzmi - w jaki sposób poprawić wywołanie funkcji handleServerResponse(), tak aby kod ten wreszcie zaczął działać? Z góry dziękuję za pomoc. Ten post edytował m010ch 30.09.2007, 11:16:48 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 179 Pomógł: 1 Dołączył: 8.03.2007 Skąd: Łódź Ostrzeżenie: (0%)
|
Chyba wiem o co chodzi, błąd tym razem dotyczy funkcji strtoupper" title="Zobacz w manualu PHP" target="_manual. Ma ona problemy ze zrobieniem wielkiej litery z polskiego znaku. Rozwiązanie znalazłem na naszym forum.
Teraz kod w pliku .php, może wyglądać tak:
Oczywiście reszta tak samo. Mam nadzieję, że to rozwiąże problem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) edit: Tak masz racje, bo ja już potem nie zmieniałem tych wielkich liter. Można by tą zamianę na wielkie wpisać w tym in_array (tak jak było poprzednio), bo tu chodzi tylko porównanie. Zmienna pozostała by wtedy niezmieniona. Ja tylko tak napisałem, żeby było czytelniej. Nie ma za co, po to jest forum. Sam mam tą książkę, ale tak szczegółowo to nawet nie analizowałem tego przykładu przy czytaniu. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował atomek4 30.09.2007, 18:19:26 |
|
|
|
m010ch Problem początkującego - dlaczego nie działa ten kod? 30.09.2007, 00:37:34
atomek4 Cześć,
ta książka ma kilka takich niedoróbek. Ści... 30.09.2007, 09:00:25
m010ch Cytat(atomek4 @ 30.09.2007, 08:00:25 ... 30.09.2007, 10:38:05
atomek4 Sprawdziłem, wydaje mi się, że problem leży w BOM-... 30.09.2007, 11:20:43
m010ch Cytat(atomek4 @ 30.09.2007, 10:20:43 ... 30.09.2007, 11:56:26
atomek4 Co parsowania ogonków, to w tych kodach z książki ... 30.09.2007, 13:13:28
m010ch Dzięki - jesteśmy coraz bliżej rozw... 30.09.2007, 14:03:40
m010ch Dzięki wielkie atomek4!
Problem został prawi... 30.09.2007, 18:03:34 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 16:02 |