Json в IE

12
stifler_x
На сайте с 19.06.2008
Offline
193
1292

Есть форма, данные из которой обрабатываются скриптом на лету, при помощи ajax.

Запрос отправляюется json-ом, строка запроса формируется следующим кодом:

$("form.data").change(function() {
var fields = $("form.data").serializeArray();
var str = "";
jQuery.each(fields, function(i, field){
str += field.name + "=" + encodeURIComponent(field.value) + "&";
});

Данные отправляются get-ом и обрабатывается результат.

$.get("/query.php",str, function( data ) {
alert(data.result);
}, "json");
});

Все браузеры (опера, фф, сафари, хром) работают с этим кодом отлично, но ИЕ совсем не хочет.

Чего ему не хватает?

JTRTA
На сайте с 06.07.2008
Offline
25
#1

Посмотреть бы в работе скрипты, так тяжеловато судить где происходит ошибка при генерации запроса или ответа.

А вообще есть интересный глюк с ИЕ и encodeURIComponent связанный с кодировками. При кодировании этой функцией используется не UTF-8, а локальная кодировка, в итоге если для сайта пользуется не UTF-8 серверу доходит уже нечто странное.

Дизайн /ru/forum/493415 (/ru/forum/493415) Верстка от 15$ /ru/forum/509339 (/ru/forum/509339) Сайты под ключ aiogino.studio@gmail.com icq: 460146806
stifler_x
На сайте с 19.06.2008
Offline
193
#2

ха... это жопа...

На клик работает все нормально... на изменения в форме не хочет...

Почему???

PS. проблема не в передаче даннын серверу, и не в ответе... а в реакции на событие...

Roman.Umox
На сайте с 22.09.2007
Offline
120
#3

Во всех версиях IE не работает или только в 8?

stifler_x
На сайте с 19.06.2008
Offline
193
#4

Roman.Umox, если верить ие-тестеру, то во всех...

[Удален]
#5
stifler_x:
$.get("/query.php",str, function( data ) {
alert(data.result);
}, "json");
});

фрагмент кода видимо неполный, либо ошибка в синтаксисе: } больше чем {, тоже с ()

T.R.O.N
На сайте с 18.05.2004
Offline
314
#6

stifler_x,

а какой тип поля, к которому цепляете OnChange - не SELECT случаем?

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
stifler_x
На сайте с 19.06.2008
Offline
193
#7

burunduk, да, мог кавычку недокопировать... вместо алерта идет проверка полученных данных и соответствення реакция на них. Решиш сократить на пару десятков строк. Проблема точно не в синтаксисе, так как такая ошибка весьма заметна в консоли.

T.R.O.N, селектов нет... везде стандартные input и texrea

PS. может change незя прикручивать к форме? У меня скрипт реагирует на изменение в форме под классом data $("form.data").change

JTRTA
На сайте с 06.07.2008
Offline
25
#8

а попробуйте так прикрепить element.onchange=function(){ doWhatever() } когда то давно тож был глюк подобный... точно решение уже непомнится :)

T.R.O.N
На сайте с 18.05.2004
Offline
314
#9
stifler_x:
ожет change незя прикручивать к форме?

Никогда не встречал такого. change можно к полю....

я просто гквери нелюблю, посему был уверен что form.data ссылка на поле

JTRTA
На сайте с 06.07.2008
Offline
25
#10

Кстати еще в ие вроде бы был глюк, что onchange вызывается не когда прекращаем редактировать, а когда элемент теряет фокус....

12

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