IE8 не получает ответ от сервера через jquery

humbert
На сайте с 16.03.2006
Offline
540
654

На странице


<script>
function get_data_server()
{var url='http://site.ru/js/answer.php';
$.post(url, function(data)
{alert(data);}
);
}
</script>

На сервере

<?php echo "OK"; ?>

Ответ в IE

undefined

Понимаю, что детский сад, но уже 4 часа никак не соображу.

Парсинг прайс-листов, наполнение интернет-магазина товаром. (https://humbert.ru) Любая CMS (Битрикс, OpenCart, Prestashop и даже Woo Commerce )
IL
На сайте с 20.04.2007
Offline
435
#1

У меня не работал ajax в IE из-за заголовка content-type..

Попробуйте добавить перед echo

header('Content-Type: text/html; charset=utf-8', true);

* обязательно с "минусом" перед восьмёркой..

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
humbert
На сайте с 16.03.2006
Offline
540
#2

Не, заголовки уже пробовал, не помогает

IL
На сайте с 20.04.2007
Offline
435
#3

эм.. а версия jQuery какая? А то такое для восьмёрки когда-то было

p.s. если всё свежее - можно "на посмотреть" в личку?.. люблю чЮдеса )

humbert
На сайте с 16.03.2006
Offline
540
#4

Перебираю все версии jQuery

Вот код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<script type="text/javascript" src="http://site.ru/js/jquery/jquery-1.7.2.min.js"></script>
</head>
<body>

<script>
function get_data_answer()
{
var url='http://site.ru/js/answer.php';
$.post(url, function(data)
{alert(data); }
);
}
</script>

<input type='button' onclick='get_data_answer();' value='нажми'>

</body>
</html>

Вставлял даже

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">

В FF, кстати, тоже уже не пашет. Вообще ничего не происходит. В IE8 выдает undefined

В Опере без проблем

FF 14.0.1

Опера 12.00

---------- Post added 23-07-2012 at 19:20 ----------

Все, починил, вроде.

<script> 

function get_data_answer()
{
var url='http://site.ru/js/answer.php?rnd=случайное число';
$.post(url, function(data)
{alert(data); }
);
}
</script>

Кешировалось

hYPER-ok
На сайте с 09.10.2010
Offline
71
#5

Такая же фигня была, только с get; заменил на post и все заработало ))

IL
На сайте с 20.04.2007
Offline
435
#6

humbert, а точно кэшировалось? И точно $.post(..)? Обычно post не кэшируется (не, конечно, настроить и такое можно)...

hYPER-ok:
Такая же фигня была, только с get; заменил на post и все заработало ))

Да, тут, похоже, тоже кэширование было.. то самое, которое ушло, т.к. "post не кэшируется" :)

humbert
На сайте с 16.03.2006
Offline
540
#7

ivan-lev, не знаю, но к урлу вызываемого скрипта из javascript добавил случайное число, поставил

header('Content-Type: text/html; charset=windows-1251', true); 

И все заработало

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий