|
|
|
|
|
для: 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, не хочет с первого раза нормально отрабатывать. Так вот как пришлось его лечить. | |
|
|
|
|
|
|
|
для: psychomc
(23.05.2009 в 00:08)
| | "c" - опасный символ, на одной клавише и русская и латинская версии, легко ошибиться и невозможно заметить на глаз. | |
|
|
|
|
|
|
|
для: serjinio
(22.05.2009 в 21:39)
| | document.getElementById('c').innerHTML = response;
может проблема в самом id тогда? | |
|
|
|
|
|
|
|
для: 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 стал нормально выводить селекты...мистика.... | |
|
|
|
|
|
|
|
для: PAT
(22.05.2009 в 11:42)
| | Не обманывайте людей ; )
Сам писал для нескольких интернет-магазинов. http://pro-avtokresla.ru/catalog/romer/duo_plus и в 6 тоже работает! | |
|
|
|
|
|
|
|
для: PAT
(22.05.2009 в 11:42)
| | У меня тоже уже несколько лет назад POST срабатывал, когда еще и семерки не было. Нельзя верить всему, что Майкрософт пишет. | |
|
|
|
|
|
|
|
для: PAT
(22.05.2009 в 11:42)
| | я что-то пропустил, Вы утверждаете, что в ИЕ6 принципиально нельзя передать данные методом POST при работе с AJAX? | |
|
|
|
|
|
|
|
для: 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);
|
Вы сами попробуйте и узнаете.
из Вас получился бы очень брутальный препод :) | |
|
|
|
|
|
|
|
для: 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 и так прекрасно работает и зря деньги от Билла Гейтса за новую версию получили? :-)
[поправлено модератором] | |
|
|
|
|
|
|
|
для: sl1p
(22.05.2009 в 09:20)
| | аналогично. | |
|
|
|
|