Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Аякс - > undefined
 
 автор: nikk3   (05.03.2007 в 23:32)   письмо автору
 
 

Не могу заставить работать скрипт а-ля 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

Что делать?

   
 
 автор: bronenos   (05.03.2007 в 23:43)   письмо автору
 
   для: nikk3   (05.03.2007 в 23:32)
 

неуверен, но регистр наверное зависит
responseText
и проверяйте еще
if (xmlHttp.status == 200)

   
 
 автор: nikk3   (06.03.2007 в 00:01)   письмо автору
 
   для: bronenos   (05.03.2007 в 23:43)
 

Неа..
При написании xmlHttp.responseText
в FF все ОК а в IE ошибка -1072896658
Что с ней далть, подскажиет пожалуйста???

   
 
 автор: defen   (06.03.2007 в 11:00)   письмо автору
 
   для: nikk3   (06.03.2007 в 00:01)
 

function ajax_send_request_done()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById('rez').innerHTML = xmlHttp.responseText;
}
}

   
 
 автор: shkryab   (06.03.2007 в 15:46)   письмо автору
 
   для: nikk3   (06.03.2007 в 00:01)
 

Попробовал твой код! У меня в IE всё нормально, а вот Opera пишет undefined! Так что если разберёшься в чём дело и мне дай знать пожалуйста!:)

   
 
 автор: dimka   (10.04.2007 в 13:53)   письмо автору
 
   для: 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-приложений.


вот.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования