Код
<!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" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script type="text/javascript" src="ajaxtest.js"></script>
</head>
<body onload="process()">
Сервер желает узнать ваше имя:
<input type="text" id="myname">
<div id="divmessage"></div>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script type="text/javascript" src="ajaxtest.js"></script>
</head>
<body onload="process()">
Сервер желает узнать ваше имя:
<input type="text" id="myname">
<div id="divmessage"></div>
</body>
</html>
Javascript-обработчик
Код
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
var xmlHttp;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
{
try
{xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch(e)
{xmlHttp = false;}
}
else
{
try
{xmlHttp = new XMLHttpRequest();}
catch(e)
{xmlHttp = false;}
}
if(!xmlHttp)
alert("Ошибка создания объекта xmlHttpRequest");
else return xmlHttp;
}
function process()
{
if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
name = encodeURIComponent(document.getElementById("myname").value);
xmlHttp.open("GET", "ajaxtest.php?myname="+name, true);
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(null);
}
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("divmessage").innerHTML = helloMessage;
setTimeout("process()",1000);
}
else alert("При обращении к серверу возникли проблемы: " + xmlHttp.statusText);
}
}
function createXmlHttpRequestObject()
{
var xmlHttp;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
{
try
{xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch(e)
{xmlHttp = false;}
}
else
{
try
{xmlHttp = new XMLHttpRequest();}
catch(e)
{xmlHttp = false;}
}
if(!xmlHttp)
alert("Ошибка создания объекта xmlHttpRequest");
else return xmlHttp;
}
function process()
{
if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
name = encodeURIComponent(document.getElementById("myname").value);
xmlHttp.open("GET", "ajaxtest.php?myname="+name, true);
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(null);
}
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("divmessage").innerHTML = helloMessage;
setTimeout("process()",1000);
}
else alert("При обращении к серверу возникли проблемы: " + xmlHttp.statusText);
}
}
php-обработчик
Код
<?php
header("Content-Type: text/xml; charset=windows-1251");
echo '<?xml version="1.0" encoding="windows-1251" standalone="yes"?>';
echo '<response>';
$name = iconv('UTF-8','windows-1251',$_GET['myname']);
$usernames = array("Max", "Oleg", "Ivan", "Nik", "Sanya", "Alex", "Igor", "Leo", "Tolic" );
if(in_array(strtoupper($name), $usernames))
echo 'Здравствуйте, уважаемый'.htmlentities($name).'!';
elseif (trim($name)=="") echo 'Скажи мне, как тебя зовут, незнакомец!';
else echo htmlentities($name).', вы мне не знакомы!';
echo '</response>';
?>
header("Content-Type: text/xml; charset=windows-1251");
echo '<?xml version="1.0" encoding="windows-1251" standalone="yes"?>';
echo '<response>';
$name = iconv('UTF-8','windows-1251',$_GET['myname']);
$usernames = array("Max", "Oleg", "Ivan", "Nik", "Sanya", "Alex", "Igor", "Leo", "Tolic" );
if(in_array(strtoupper($name), $usernames))
echo 'Здравствуйте, уважаемый'.htmlentities($name).'!';
elseif (trim($name)=="") echo 'Скажи мне, как тебя зовут, незнакомец!';
else echo htmlentities($name).', вы мне не знакомы!';
echo '</response>';
?>