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

HTML+CSS+JavaScript

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

 

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

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

тема: Проблема с аяксом в IE 8
 
 автор: Jaroslav   (09.10.2009 в 11:49)   письмо автору
 
 

Здравствуйте!

Подскажите, пожалуйста. Проблема с аяксом и IE8.0.
обработчик такой:



function sendRequest(file, _resultId, getRequestProc) {
resultId = _resultId;
document.getElementById(resultId).innerHTML = 'Loading... <img src="loading.gif">';
httpRequest.open('get', file);
httpRequest.onreadystatechange = getRequestProc;
httpRequest.send(null);
}



ну и вызывается, например, так:

<a href="javascript:void(null)" onclick="javascript:sendRequest('file.php', 'result_200', getRequest);">Название ссылки</a>
<div id="result_200" style="border:1px"></div>


Есть ли где-то ошибка? Может он устарел??
С уважением, Ярослав.

  Ответить  
 
 автор: cheops   (09.10.2009 в 12:36)   письмо автору
 
   для: Jaroslav   (09.10.2009 в 11:49)
 

Так а в чем вопрос? Обработчик работает?

  Ответить  
 
 автор: Jaroslav   (09.10.2009 в 12:40)   письмо автору
 
   для: cheops   (09.10.2009 в 12:36)
 

не работает в IE 8.0.
В других браузерах работает.

  Ответить  
 
 автор: Jaroslav   (09.10.2009 в 19:03)   письмо автору
 
   для: cheops   (09.10.2009 в 12:36)
 

Посмотрите, пожалуйста, где может быть ошибка?
Ie 8.0, например, пишет, что ошибка в строке:

httpRequest.open('post', file);




var httpRequest = createHttpRequest();
var resultId = '';

function sendRequest(file, _resultId, getRequestProc) {
resultId = _resultId;
document.getElementById(resultId).innerHTML = 'Loading... <img src="loading.gif">';
httpRequest.open('post', file); 
httpRequest.onreadystatechange = getRequestProc;
httpRequest.send(null);
}

function getRequest() {
if (httpRequest.readyState == 4) 
document.getElementById(resultId).innerHTML = httpRequest.responseText;
}

function getRequestProc() { 
if (httpRequest.readyState == 4)  {
resultId = _resultId;
document.getElementById('resultId').innerHTML = httpRequest.responseText; 
}}  

function createHttpRequest()
{
    if (window.XMLHttpRequest) {
        try {
            return new XMLHttpRequest();
        } catch (e){}
    } else if (window.ActiveXObject) {
        try {
            return new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e){
          try {
              return new ActiveXObject('Microsoft.XMLHTTP');
          } catch (e){}
        }
    }
    return null;
}

  Ответить  
 
 автор: Jaroslav   (10.10.2009 в 16:45)   письмо автору
 
   для: Jaroslav   (09.10.2009 в 19:03)
 

ну подскажите, есть ли тут какие-то ошибки? Или все правильно?

  Ответить  
 
 автор: serjinio   (11.10.2009 в 01:53)   письмо автору
 
   для: Jaroslav   (09.10.2009 в 19:03)
 

httpRequest.open('POST', 'file', true)

  Ответить  
 
 автор: Jaroslav   (12.10.2009 в 21:39)   письмо автору
 
   для: serjinio   (11.10.2009 в 01:53)
 

Спасибо. Погоняли, правильный вариант такой:


var httpRequest = createHttpRequest();
var result = '';

function sendRequest(file, _result, getRequestProc) {
result = _result;
document.getElementById(result).innerHTML = 'Loading... <img src="loading.gif">';
httpRequest.open('POST', file, true)
httpRequest.onreadystatechange = getRequest;
httpRequest.send(null);
}

function getRequest() {
if (httpRequest.readyState == 4) {
document.getElementById(result).innerHTML = httpRequest.responseText;
}}

function createHttpRequest()
{
    if (window.XMLHttpRequest) {
        try {
            return new XMLHttpRequest();
        } catch (e){}
    } else if (window.ActiveXObject) {
        try {
            return new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e){
          try {
              return new ActiveXObject('Microsoft.XMLHTTP');
          } catch (e){}
        }
    }
    return null;
}

  Ответить  
Rambler's Top100
вверх

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