index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<html xmlns="//www.w3.org/1999/xhtml">
<head>
<title>AJAX with PHP: Quickstart</title>
<script type="text/javasсript" src="quickstart.js"></script>
</head>
<body onload='process()'>
<center>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: small; background-color: #ffffff; padding: 5px; border: #000099 1px solid; width: 600px; text-align: center">
This is a demo application from our book<br/>
<b>AJAX and PHP: Building Responsive Web Applications (Packt Publishing, 2006)</b><br/>
The book is a practical tutorial featuring detailed case studies on AJAX with PHP development.
<br/>
Find more book demos, free downloads and resources, at <a href="//ajaxphp.packtpub.com">//ajaxphp.packtpub.com</a>.
</div>
</center>
<br/><br/>
Server wants to know your name:
<input type="text" id="myName" onmouseup="process();" onkeyup="process();" />
<div id="divMessage" />
</body>
</html>
8 августа 2008 в 22:05
URLEncode. для name в js
8 августа 2008 в 22:05
xmlHttp.open("GET","quickstart.php?name=" + URLEncode(name), true);
8 августа 2008 в 15:04
А iconv?
8 августа 2008 в 15:03
quickstart.js
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 ("ошибка создания объекта рекуэст");
else
return xmlHttp;
}
function process()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState==0)
{var name;
name=encodeURIComponent(document.getElementById("myName").value);
xmlHttp.open("GET","quickstart.php?name="+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='<i>'+unescape(helloMessage)+ '</i>';
setTimeout('process()',1000);
}
else
{
alert("проблемы с сервером" + xmlHttp.statusText);
}
}
}
8 августа 2008 в 15:03
<?php
header('Content-Type: text/xml' );
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo '<response>';
$f=$_GET['name'];
$userName=array('рол','BOGDAN','FILIP','YODA');
echo $f;
//if ($f=="г") {echo "!!!";}
if (in_array(strtoupper($f),$userName))
echo 'привет мастер'.htmlentities($f).'!';
else if (trim($f)=='')
echo 'скажи как тебя зовут';
else
echo htmlentities ($f).'мы не знакомы';
echo '</response>';
?>
8 августа 2008 в 15:03
три файла. Первый—с формой. Второй с аяксом. Третий пхп скрипт обработки. Если пишу в текстовой строке русскими буквами–реакции нет. Английские работают. понимаю, что дело в кодировках, но не одна функция по перекодированию не сработала. Помогите или сделаю себе сепуку. Меня уже достало это все.