
28.06.2007, 08:13
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,315
С нами:
10248806
Репутация:
2371
|
|
Проблема с кодировкой в AJAX....
PHP код:
<?php
ini_set("display_errors","0");
if($_POST['end'])
{
header ("Content-Type: text/xml; charset=windows-1251");
print ("<?xml version=\"1.0\" standalone=\"yes\"?>\r\n");
print ("<responce>\r\n");
print ("<system>\r\n");
if(empty($_POST['title']))
{
echo "Заполните обязательные поля";
}
else
{
if(isset($_POST['title']))
echo "Вывод: ".$_POST['title'];
}
print ("</system>\r\n");
print ("</responce>\r\n");
exit;
}
?>
<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" />
</head>
<?php include('js.php'); ?>
<body>
<table width="300" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><font color="#FFFFFF">Название :</font></td>
<td align="right"><input type="text" value="" id="title" style="width: 150;height:20" /></td>
</tr>
</table>
<input type="submit" id="end" value="Кнопка" onclick="command();" />
<div id="system"></div>
</body>
</html>
Файл js.js
Код HTML:
<script type="text/javascript">
var xmlhttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
var xmlhttp;
try
{
xmlhttp = new XMLHttpRequest();
}
catch (e)
{
alert('error : '+e.toString());
}
var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP","Microsoft.XMLHTTP");
for (var i=0; i<XmlHttpVersions.length && !xmlhttp; i++)
{
try
{
xmlhttp = new ActiveXObject(XmlHttpVersions[i]);
}
catch (e) {}
}
if (!xmlhttp) alert('failed to create XMLHTTP Element');
else return xmlhttp;
}
function createRequestProcess(pdata,type)
{
if (xmlhttp)
{
try
{
xmlhttp.open("POST","<?=$_SERVER['SCRIPT_NAME'];?>",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=windows-1251");
xmlhttp.setRequestHeader("Content-length", pdata.length);
xmlhttp.send(pdata);
xmlhttp.onreadystatechange = handleRequestStateChange;
}
catch (e) {alert('error : '+e.toString());}
}
}
function handleRequestStateChange()
{
if (xmlhttp.readyState == 4)
{
if (xmlhttp.status == 200)
{
try { ReadResponce(); }
catch (e) {}
}
}
}
function ReadResponce()
{
xmlresponce = xmlhttp.responseXML;
xmldocelement = xmlresponce.documentElement;
xmldocanswer = xmldocelement.getElementsByTagName("system").item(0).firstChild.data;
myDiv = document.getElementById("system");
myDiv.innerHTML = '<pre>'+xmldocanswer+'<\/pre>';
}
function command()
{
title = document.getElementById('title').value;
end = document.getElementById('end').value;
fdata = "title="+title+"&end="+end;
createRequestProcess(fdata);
}
</script>
Как видите кодировка указана где только можно(пробовал даже htaccess), но выводит
такое:
Код:
Вывод: непохек
Не знаю как справиться с этой проблемой...
|
|
|