3

我有一个表格:

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

带有提交按钮:

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

提交按钮应该发送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;
    });
});

有接受的功能:

function onAjaxSuccess (result)

所有这些在 chrome、ff、opera、safari 中都可以正常工作,但在 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.' ); }
    }); 
});

但结果是相同的 ff chrome safari 歌剧作品,除了 IE9 。

请告诉我可能是什么问题。

4

2 回答 2

4

问题是 IE9 不理解编码 cp1251 中“JSON”的格式,即使它在响应头中明确说明。以 utf-8 格式翻译 JSON 响应解决了 IE9 的问题。

于 2012-05-13T20:00:51.607 回答
2

确保 type="text/javascript" 中没有空格如果在定义脚本类型时有空格,那么 IE 将不允许您的 js 工作

<script type="text/javascript">
  ....... 
</script>
于 2012-05-12T13:35:27.210 回答