2012-05-12 4 views
3

У меня есть форма:JQuery и IE Представлять, ajaxForm не работает

<form method="post" action="/balda/server.wsgi" id="gameboard" name="gameboard" > 

с кнопкой отправки:

<input type="submit" name="submit" value="Поиск" style="" onmouseover="CheckElements();"> 

кнопки отправки необходимо отправить АЯКС процесс связывания:

jQuery(document).ready(function(){ 
    jQuery('#gameboard').submit(function() { 
     $.ajax({ 
      url  : $(this).attr('action'), 
      type : $(this).attr('method'), 
      dataType: 'json', 
      data : $(this).serialize(), 
      success : function(data) { 
         onAjaxSuccess(data); 
        } 
     }); 
     return false; 
    }); 
}); 

Принимаются функции:

function onAjaxSuccess (result) 

Все это прекрасно работает в хром, Ф.Ф., опера, сафари, но это не работает в Internet Explorer 9 (другие не пробовал)

В IE9, переменная результат пуст. я попробовал другую привязку кнопку отправки, как это:

$('document').ready(function(result) 
{ 
    $('#gameboard').ajaxForm({  
     type: "POST", 
     data : $(this).serialize(), 
     success: onAjaxSuccess, 
     dataType: 'json', 
     error: function(){ alert ('Error loading data format.'); } 
    }); 
}); 

Но результат тот же след хром сафари опера работа, за исключением IE9.

Пожалуйста, сообщите мне, что может быть проблемой.

ответ

4

Проблема заключалась в том, что IE9 не понять формат «JSON» в кодировке cp1251, хотя это четко указано в заголовке ответа. Перевод ответа JSON в utf-8 решил проблему с IE9.

+3

Как мне сделать перевод ответа JSON в utf-8? – muthu

+0

У меня была такая же проблема. Следуя этому совету, я удалил 'dataType: 'json'', и мне удалось получить результаты из формы. –

+0

Черт, это все еще так? им искать способы сделать это, но безрезультатно – somdow

2

убедитесь, что нет места в типе = «текст/JavaScript», если есть место в определении типа сценария, то IE обыкновения позволяет вашему JS работать

<script type="text/javascript"> 
    ....... 
</script> 
+0

Я сказал, но «функция onAjaxSuccess (result)» называется только результатом пустым. Тип вроде хорош. Приложение доступно на poncy. ru/balda Извините за мой английский снова –

Смежные вопросы