Я новичок в AJAX и изучаю его сейчас с Head First AJAX
. Проблема, с которой я сталкиваюсь, действительно странная. Я разработал простую программу, которая создает запрос через JavaScript, а затем показывает результат.request.responseText получает правильные данные, но JavaScript не может это понять
main.js
window.onload = initPage;
function initPage() {
request = createRequest();
if(request == null) {
alert("request could not be created");
}
else {
var url = "requestMe.php";
request.onreadystatechange = showResult;
request.open("GET", url, true);
request.send(null);
}
}
function showResult() {
if(request.readyState == 4) {
if(request.status == 200) {
if(request.responseText == "okay") {
alert("A successful request was returned");
}
else {
alert("ALERT : " + request.responseText);
}
}
else {
alert("Request status received was not correct");
}
}
}
//--function to create request objects--
function createRequest(){
try{
request = new XMLHttpRequest();
}
catch(tryMS){
try{
request = new ActiveXObject("Msxm12.XMLHTTP");
}
catch(otherMS){
try{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(failed){
request = null;
}
}
}
return request;
}
Теперь, вот скрипт PHP.
requestMe.php
<?php
echo 'okay';
?>
Этот код должен дать настороже A successful request was returned
Но вместо этого он дает результат ALERT : okay
Странная вещь этот же код работал вчера для меня, когда я попробовал, и теперь это дает мне этот результат. Я пытался создать похожие программы, и все они показывают мне такое странное поведение. Полученный responseText
является правильным, поскольку он добавляет okay
после . Что я здесь делаю в коде? Почему это происходит с участком else
, когда получено responseText
?
Любая помощь? Заранее спасибо.
Exaclty! Это было хорошо для меня тоже. Но он внезапно сломался. Я использую Aptana Studio на Ubuntu 15.04, и я использую FireFox Browser. –
, пожалуйста, поделитесь своим кодом внутри requestMe.php, скопировав его. –
Я проверил и дважды проверил его. Нет пробела или других символов при эхо –