IE не возвращает ответ сервера AJAX

workOnFood

Новичок
Всем доброго дня. Есть форма отправки отзыва, при нажатии на кнопку срабатывает событие и запускается функция которая берет все данные из полей и аяксом с помощью JQuery отправляет данные в скрипт. Скрипт обрабатывает данные и если все нормально записывает в базу и возвращает сообщение, если не нормально возвращает соответствующий текст. На всех браузерах кроме ИЕ все работает нормально. ИЕ отправляет данные и записывает их в базу если все нормально но сообщение не возвращает т.е. success: не срабатывает.
Вот код отправки.

PHP:
$.ajax({
		url:'system/otz/record.php',
		type:'POST',
		cache:false,
		data:'vid_uslugi='+vid+'&otz_name='+name+'&d_d='+day+'&d_m='+month+'&d_y='+year+'&e_mail='+email+'&otz_text='+text+'&coords='+disloc,
		success:function(html){
			alert('hello');
			if(html!=''){
				var doc = document.documentElement;
				var mes = document.getElementById('sys_mes');
				mes.style.display = 'block';
				mes.style.left=(doc.clientWidth/2-mes.offsetWidth/2)+'px';
				mes.style.top = (doc.clientHeight/2-mes.offsetHeight/2)+'px';
				mes.innerHTML = html;
			}
		}
	});
Уверен кто-нибудь уже сталкивался с такой проблемой. Помогите разобраться.
 

tz-lom

Продвинутый новичок
если не срабатывает success срабатывает error - вешайся на него и смотри что за ошибка
 

workOnFood

Новичок
Спасибо, честно говоря не знал что в ajax есть такая функция. Пишет parsererror. Проверил кодировки везде соответствуют, изменил возвращаемый текст на латинницу, толку нет. А есть доки по ошибкам возвращаемым error?
 

workOnFood

Новичок
Реагирует таким образом вообще на любой вывод. Просто цифры пишу ниже ?> пишет parsererror. Кодировка всех страниц UTF без бом.
 

tz-lom

Продвинутый новичок
скорее всего проблема в том что у вас не указан dataType , тогда тип берётся из mime ответа,и скорее всего он решает что там json
укажите явно что это текст
 

tz-lom

Продвинутый новичок
значит читайте что у вас в ошибке,доки должны быть,ну или в код jQuery лезьте
 

workOnFood

Новичок
Да жестко. Видимо придется.
Еще с этой же страницы уходит jsonp запрос на яндекс -
PHP:
function findPlaceByName(){
	var val = document.getElementById('place').value;
	var script = document.createElement('script');
	script.type = 'text/javascript';
	script.src ='http://geocode-maps.yandex.ru/1.x/?geocode='+val+'&rspn=1&ll=37.609218,55.753559&spn=0.736812,0.736812&callback=makeHint&format=json&key='+yaKey;
	document.body.appendChild(script);
}
Возможно это могло как-то повлиять на что-то... Хотя что тут могло повлиять... очевидно ничего. Так крик утопающего.)
 

iceman

говнокодер
а ты еще и БД пишешь, хех... разобраться сам не можешь даже...
 

ufolog

Новичок
была похожая проблема пофиксалось просто добавлением в url куда идет Ajax запрос параметра который забивался рандомными числами , в вашем случае вот сюда system/otz/record.php?rnd=random_string
 

vovanium

Новичок
Посмотри что именно получает IE от сервера, жми F12 в IE, вкладка Сеть и смотришь, что там у тебя возвращает сервер, может там вообще какой-то Notice попадает в отдачу
 

workOnFood

Новичок
Посмотри что именно получает IE от сервера, жми F12 в IE, вкладка Сеть и смотришь, что там у тебя возвращает сервер, может там вообще какой-то Notice попадает в отдачу
Да я уже пытался ловить алертом то что он возвращает. Фишка не в том что он возвращает а в том что он ничего не возвращает.
Да и где там Сеть? Что-то я не нашел.
 

vovanium

Новичок
Да я уже пытался ловить алертом то что он возвращает.
алертом ты ничего не словишь если скрипт отваливает по ошибке до него, а вот посмотреть ответ сервера можно. Сеть в 9-м IE крайняя вкладка справа
 

vovanium

Новичок
а похоже в девятке только добавили, тогда либо девятку поставить, либо какой-нибудь анализатор трафика (например HttpWatch)
 

edwardgorbachev

Новичок
у меня была проблема с IE когда я явно задавал заголовок с кодировкой на серверной части в скрипте.
после того, как убрал заголовок - начало отрабатывать нормально.
 
Сверху