|
|
|
| Не могу заставить работать скрипт а-ля ajax
Помогите, пожалуйста разобраться!
Вот код странички со скриптами
<!doctype html public "-//W3C//DTD HTML 4.0//EN"><html>
<head>
<title>Аякс</title>
<meta http-equiv="Content-Type" content="text/html; Charset=Windows-1251" />
<link rel="Stylesheet" href="../styles_new.css" type="text/css" />
</head>
<body>
<script type="text/javascript"><!--
function GetXmlHttpObject()
{
var objXMLHttp = null;
if (window.XMLHttpRequest)
{
objXMLHttp = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
objXMLHttp = new ActiveXObject ("Microsoft.XMLHTTP");
}
return objXMLHttp;
}
function ajax_send_request ()
{
xmlHttp = GetXmlHttpObject()
var url = "testwww.php";
xmlHttp.onreadystatechange=ajax_send_request_done;
xmlHttp.open ("GET", url, true);
xmlHttp.send (null);
}
function ajax_send_request_done()
{
// nothing interesting for async server task, suggested to provide feedback here
if (xmlHttp.readyState == 4) {
document.getElementById('rez').innerHTML = xmlHttp.ResponseText;
}
}
--></script>
<hr> <hr>
<div onClick="ajax_send_request()">Кликни!</div>
<div id=rez></div>
<hr> <hr>
</body>
|
А вот код php-шки testwww.php из которой должен гененироваться блок внутрь странички по клику:
<?php
header("Content-type: text/html; Charset=cp1251");
?>
<h1>Заголовок</h2>
|
---
Вместо текста «Заголовок» по клику получаю надпись – undefined
Что делать? | |
|
|
|
|
|
|
|
для: nikk3
(05.03.2007 в 23:32)
| | неуверен, но регистр наверное зависит
responseText
и проверяйте еще
if (xmlHttp.status == 200) | |
|
|
|
|
|
|
|
для: bronenos
(05.03.2007 в 23:43)
| | Неа..
При написании xmlHttp.responseText
в FF все ОК а в IE ошибка -1072896658
Что с ней далть, подскажиет пожалуйста??? | |
|
|
|
|
|
|
|
для: nikk3
(06.03.2007 в 00:01)
| | function ajax_send_request_done()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById('rez').innerHTML = xmlHttp.responseText;
}
} | |
|
|
|
|
|
|
|
для: nikk3
(06.03.2007 в 00:01)
| | Попробовал твой код! У меня в IE всё нормально, а вот Opera пишет undefined! Так что если разберёшься в чём дело и мне дай знать пожалуйста!:) | |
|
|
|
|
|
|
|
для: nikk3
(05.03.2007 в 23:32)
| | сменил
<?php
header("Content-type: text/html; Charset=cp1251");
?>
на
<?php
header("Content-type: text/html; Charset=Windows-1251");
?>
переустановил сервер вместе с windows - все работает!
думаю, это очевидно, если учесть, что не существует кодировки cp1251 а есть Windows-1251
ошибка 1072896658 как раз значит - неверная кодировка
нашел в гугле: ( та страница больше не доступна )
Skaizer
Добавлено: Пт Мар 16, 2007 4:41 pm Заголовок сообщения: Ajax и ошибка 1072896658 в Internet Explorer.
Предполагается что в качестве языка обработки запросов используется php.
У многих Web-разработчиков возникает вопрос, почему AJAX приложение отлично работает во всех основных браузерах, кроме браузера Microsoft Internet Explorer (IE), выдавая ошибку 1072896658. Дело в том, что многие в конфигурационном файле php.ini указывают параметр default_charset = "cp1251" либо вообще оставляют его закомментированным. В IE не существует кодировки cp1251, и поэтому возникает ошибка при обмене данными.
Для решения этой проблемы необходимо указать в php.ini параметр default_charset следующего вида:
Код:
default_charset = "windows-1251"
Кодировка windows-1251 является аналогом кодировки cp1251, разницы в принципе никакой, но использование cp1251 приводит к неработоспособности ajax-приложений.
вот. | |
|
|
|