【问题标题】:jquery and IE submit, ajaxForm not workingjquery 和 IE 提交,ajaxForm 不工作
【发布时间】:2012-05-20 18:45:23
【问题描述】:

我有一个表格:

<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 opera 工作,IE9 除外。

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

【问题讨论】:

    标签: jquery ajax internet-explorer-9 submit ajaxform


    【解决方案1】:

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

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

    【讨论】:

    • 我说过,但是“function onAjaxSuccess(result)”只调用结果为空。一个很好的类型。可以在poncy上申请。 ru / balda 对不起我的英语了
    【解决方案2】:

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

    【讨论】:

    • 我将如何在 utf-8 中翻译 JSON 响应?
    • 我遇到了同样的问题。按照这个建议,我删除了dataType:'json',并且能够从表单中获得结果。
    • 该死的还是这样吗?我正在寻找实现这一目标的方法,但无济于事
    猜你喜欢
    • 1970-01-01
    • 2012-08-24
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多