jQuery和IE提交给ajaxForm不工作(jquery and IE submit, ajax

2019-09-17 04:35发布

我有一个表格:

<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)

这一切工作中铬,FF,歌剧,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铬野生动物园歌剧作品,除了IE9。

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

Answer 1:

问题是,IE9不理解“JSON”在CP1251编码的格式,即使它是在响应头作了明确规定。 在UTF-8 JSON响应的翻译解决了这个问题,IE9。



Answer 2:

确保有在类型没有空间=“文/ JavaScript的”如果有空间定义脚本的类型,那么IE不会让你的JS工作

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


文章来源: jquery and IE submit, ajaxForm not working