Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Sumbit Формы через JQuery IE9 (https://javascript.ru/forum/jquery/28261-sumbit-formy-cherez-jquery-ie9.html)

iqmaker 13.05.2012 11:47

Sumbit Формы через JQuery IE9
 
Здравствуйте, помогите пожалуйста разобраться.

У меня есть форма :
<form method="post" action="/balda/server.wsgi" id="gameboard" name="gameboard" >


у нее кнопка submit :
<input type="submit" name="submit" value="Поиск" style="" onmouseover="CheckElements();">

на кнопку submit забиндена обработка ajax отправки:
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;
    });
});


Есть accepted функция :
function onAjaxSuccess( result )


Все это замечательно работает в chrome, ff, opera, safari, но не работает в Internet Explorer 9 (другие не пробовал )

В IE9 переменная result пустая.
Пробовал еще биндить кнопку так:
$('document').ready(function( result )
{
    $('#gameboard').ajaxForm( {    
        type: "POST",
        data    : $(this).serialize(),
        success: onAjaxSuccess,
        dataType: 'json',
        error: function(){ alert ( 'Error loading data format.' ); }
    }); 
});

Но результата такой же кроме IE9 (другие IE не смотрел) везде работает.

Подскажите пожалуйста в чем может быть проблема.
Заранее благодарю за помощь.

atlantis 13.05.2012 12:51

Перед тем как выдавать результат в php, установи
header("Content-Type: text/html; charset=utf-8");

iqmaker 13.05.2012 13:17

Там не php там с++ cgi скрипт у него в этом месте выкидывается
std::cout << "Content-Type: text/html; charset=cp1251" << std::endl << std::endl;

Т.е. cp1251 и контент соответственно в этой кодировке летит, и страница тоже вся в cp1251 ( специфика работы с символами для подсказок ).
Но мне кажется что - то в ваших словах есть. Т.е. даже если я перекодирую ответ в utf-8 не приведет ли это к тому, что на странице в кодировке cp1251, это перестанет работать?

atlantis 13.05.2012 13:24

я из-за проблем при работе а аяксом в разных браузерах, перешел полностью на UTF-8 кодировку. И сейчас никаких проблем нету.
Может попробуй отправить ответ в utf-8 а после уже перекодируй в cp1251. Может поможет.

iqmaker 13.05.2012 13:35

Огромное вам спасибо, вы оказались правы.
Странный ие не хочет есть json в кодировке cp1251, а utf-8 съел.
Еще раз большое спасибо.

Но вылезла еще одна ошибка в нем же, почему то не хочет показывать хинты для слов короче 3 символов, это вообще какое-то странное поведение, т.е. там где выводятся описания знак "?", если слово 2 символа происходит зависон, хотя сервер отвечает исправно, точно так же как и с более длинными словами. Не подскажете куда копать?

atlantis 13.05.2012 13:58

На счёт этого не знаю, не сталкивался с этим. Может кто другой подскажет, что делать.


Часовой пояс GMT +3, время: 07:54.