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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: ajax не работает в ИЕ6

Сообщения:  [1-10]   [11-14] 

 
 автор: ExtraBrain   (10.06.2009 в 17:48)   письмо автору
 
   для: serjinio   (21.05.2009 в 22:13)
 

function SendZapros(url) {
 if(window.XMLHttpRequest) {                    // Для всех кроме IE
    req=new XMLHttpRequest();
    req.onreadystatechange=GetOtvet;    // Функция принимающая ответ на запрос
    req.open("GET",url,true);
    req.send(null);
 }
 else if(window.ActiveXObject) {
    req=new ActiveXObject("Microsoft.XMLHTTP"); // Для IE
    if(req){
      req.onreadystatechange=GetOtvet;    // Функция принимающая ответ на запрос
      try { req.open("GET",url,true); } catch(e) { ajaxerr++; }
      try { req.send(null); } 
      catch(e) { ajaxerr++; if(ajaxerr<3) SendZapros(url+'&_c_='+Math.random()); else alert(e); }
    }
    else {
       alert("Обьект не создан");
    }
 }

}


<input type="button" value="    Ok    " onclick="ajaxerr=0;SendZapros('ajax.php?a='+document.getElementById('numa').value+'&b='+document.getElementById('numb').value);">


В некоторых IE6 у меня выпендривается AJAX, не хочет с первого раза нормально отрабатывать. Так вот как пришлось его лечить.

  Ответить  
 
 автор: GeorgeIV   (25.05.2009 в 10:41)   письмо автору
 
   для: psychomc   (23.05.2009 в 00:08)
 

"c" - опасный символ, на одной клавише и русская и латинская версии, легко ошибиться и невозможно заметить на глаз.

  Ответить  
 
 автор: psychomc   (23.05.2009 в 00:08)   письмо автору
 
   для: serjinio   (22.05.2009 в 21:39)
 

document.getElementById('c').innerHTML = response;

может проблема в самом id тогда?

  Ответить  
 
 автор: serjinio   (22.05.2009 в 21:39)   письмо автору
 
   для: Dimka31   (22.05.2009 в 18:29)
 

При передаче постом сервер отвечает нормально те
var response = request.responseText;
alert (response);

все выводится то что вернул сервер...но когда делаешь
{ document.getElementById('c').innerHTML = response;} 

ИЕ6 пишет ошибка сценария...в мозиле и опере без проблем
В самом скрипте ..который подгружается отдаю правильные хидеры те чтоб не кэшировалось и кодировку..
     header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
     header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
     header ("Cache-Control: no-cache, must-revalidate");
     header ("Pragma: no-cache");
//header('Content-Type: text/html; charset=utf-8');
header('content-type: application/x-javascript; charset=utf-8');

не знаю точно в чем причина но переделал на гет
function post_c(x)
{
   var div_text = document.getElementById('div_error');
   request.open ('get','cat_photos.php?cat=' + encodeURIComponent (x.options [x.selectedIndex].value), true);
  request.onreadystatechange = function() 
  {
   if ( request.readyState !== 4 ) return;
   if ( !request.status || request.status == 200  ) {document.getElementById('c').innerHTML = request.responseText;    }
   else   { div_text.innerHTML = 'Ошибка запроса XMLHttpRequest'; }    
  }
 request.send (null);return;
}

и ИЕ6 стал нормально выводить селекты...мистика....

  Ответить  
 
 автор: Dimka31   (22.05.2009 в 18:29)   письмо автору
 
   для: PAT   (22.05.2009 в 11:42)
 

Не обманывайте людей ; )

Сам писал для нескольких интернет-магазинов. http://pro-avtokresla.ru/catalog/romer/duo_plus и в 6 тоже работает!

  Ответить  
 
 автор: GeorgeIV   (22.05.2009 в 17:52)   письмо автору
 
   для: PAT   (22.05.2009 в 11:42)
 

У меня тоже уже несколько лет назад POST срабатывал, когда еще и семерки не было. Нельзя верить всему, что Майкрософт пишет.

  Ответить  
 
 автор: ddhvvn   (22.05.2009 в 12:58)   письмо автору
 
   для: PAT   (22.05.2009 в 11:42)
 

я что-то пропустил, Вы утверждаете, что в ИЕ6 принципиально нельзя передать данные методом POST при работе с AJAX?

  Ответить  
 
 автор: psychomc   (22.05.2009 в 12:28)   письмо автору
 
   для: PAT   (22.05.2009 в 11:42)
 

у меня IE 6 и все прекрасно работает

передаю так

xmlHttp.open('POST', sendHandler, true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(params);

Вы сами попробуйте и узнаете.

из Вас получился бы очень брутальный препод :)

  Ответить  
 
 автор: PAT   (22.05.2009 в 11:42)   письмо автору
 
   для: psychomc   (22.05.2009 в 10:14)
 

Согласен. Именно - "аналогично".

Фразу "send was introduced in Windows Internet Explorer 7" разработчики этого самого Explorer'a на своём собственном сайте http://msdn.microsoft.com/en-us/library/ms536736(VS.85).aspx вставили по собственному скудоумию?
Разработчики, значится, даже и не догадывались, что send и так прекрасно работает и зря деньги от Билла Гейтса за новую версию получили? :-)

[поправлено модератором]

  Ответить  
 
 автор: psychomc   (22.05.2009 в 10:14)   письмо автору
 
   для: sl1p   (22.05.2009 в 09:20)
 

аналогично.

  Ответить  

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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