Показаны сообщения с ярлыком ajax. Показать все сообщения
Показаны сообщения с ярлыком ajax. Показать все сообщения

28 янв. 2010 г.

IE строгий дядько, порой слишком ...

Цель: IE(7,8): jquery .ajax => error: parseerror
Дано: jquery 1.3.2 (вполне возможно как и младшие так и старшие версии)

Решение:
Фишка не в самом jquery, а в излюбленным всеми IE. Не впервой ругаюсь, все тестыф под мозиллой и в самый последний момент под ИЕ, и как результат сплошные неожиданности ...

есть кусок:
        $.ajax({
type: "POST",
url: "/index.php",
data: dataString,
cache: false,
dataType: "text",
error: function(msg, textStatus, errorThrown)
{
alert("Error: " + msg +"\r\nStatus: " + textStatus);
},
success: function(msg, status)
{
alert("MSG: "+msg);
}
});


По части url: "/index.php"
содержание index.php:
  
header("Content-Type: text/html");
print "True";
exit;


Опера, мозила, софари, хром съели на ура, результат всплывающее окно с текстом True ...

IE полон неожиданностей с визгом закричал "Error: Status:parseerror"
пляски с типом (dataType) ни к чему не приводили, снифером (вирешарком) то же всё чисто ... к примеру для типа json => ['True']

Чего не хватало?!
всё проще оказалось ... пишем по части url: "/index.php"

header("Content-Type: text/html; charset=utf-8");
print "True";
exit;


вуаля.


еще один момент не в пользу ИЕ:

.img
<style>
{
background-image:url(images.gif);
background-repeat:no-repeat;
padding-left:20px;
}
</style>
<span class='img'></span>



Опера, мозила, софари, хром: видим то что и ожидаем
IE: видим то что и ожидаем от IE, а собственно НИЧЕГО

костыль или нет, не знаю, честно копать некогда ... но работает

<span class='img'>&nbsp;</span>


вполне возможно что, сработает как
<style>
{
background-image:url(images.gif);
background-repeat:no-repeat;
padding-left:20px;
width: 20px;
}
</style>