Показать сообщение отдельно
  #1 (permalink)  
Старый 22.03.2015, 12:58
Новичок на форуме
Отправить личное сообщение для WoWa Посмотреть профиль Найти все сообщения от WoWa
 
Регистрация: 22.03.2015
Сообщений: 7

Синхронный запрос возвращает NULL, почему?
Здравствуйте, начал делать лабу курса Специалист AJAX, но запрос не работает у меня - в видосе то у них все ок. Может Денвер нужно как-то спецом настроить?

Windows 8.1, Denwer 3 (PHP 5.3.13, MySQL 5.1, PostgreSQL 8.4 etc.) - я его просто установил, запустил и все.

Браузеры говорят "req is NULL", IE говорит:


Функция getXMLHttpRequest в отдельный файл вынесена, файл подключен нормально консоль говорит.

function getXmlHttpRequest(){
	if(window.XmlHttpRequest){
		try{return new XmlHttpRequest();}
		catch(e){}
	}else if(window.ActiveXObject){
		try{return new ActiveXObject("Msxml2.XMLHTTP");}
		catch(e){}
		try{return new ActiveXObject("Microsoft.XMLHTTP");}
		catch(e){}
	}
	return null;
}


Вот сам код:

// URL сценария, возвращающего время
		var url = "gettime.php?delay=3";		// Задержка в запросе:  gettime.php?delay=3
		var req = getXmlHttpRequest();


		// Синхронный запрос
		function showSyncRequest(){
			// Запрос
			req.open(GET, url, false);
			req.send(null);
			// Вывод ответа
			var res = document.getElementById("syncResult");
			res.firstChild.nodeValue = req.responseText;
		}


HTML

<h1>Синхронные и асинхронные запросы</h1>
	<div id="sync">
		<h2>Синхронный запрос</h2>
		<div id="syncResult" class="result">Здесь будет время</div>
		<button onclick="showSyncRequest()">Пробуем!</button>
	</div>


Ну и на всякий случай сам пхп.
<?php
/*
** Сценарий возвращает текущее время
*/

// Установка типа данных и кодировки
header("Content-type", "text/plain; charset=utf-8");

// Чтение параметра задержки и задержка в коде
if (isset($_GET["delay"])){
	$delay = abs((int) $_GET["delay"]);
	$currTime = time();
	while (time() < $currTime + $delay) {}
}

// Текущее время
echo date("H:i:s");
?>

Последний раз редактировалось WoWa, 22.03.2015 в 13:06.
Ответить с цитированием