繁体   English   中英

jQuery AJAX在任何IE中均不起作用,但在Firefox,Opera,Chrome和Safari中运行良好

[英]jQuery AJAX not working in any IE, but fine in Firefox, Opera, Chrome and Safari

我正在客户的网站上工作,仅添加联系表单和Validate插件应该是一秒钟的工作。

我认为一切都很好,直到我到IE。

所有其他浏览器都可以绝对完美地工作,但是经过数小时的修补,我已经50%修复了IE问题。 现在我真的被卡住了。

我花了很长时间才使验证插件按照需要运行,然后才显示出来。

现在,在降级到jQuery v1.5.2并使用Validate v1.8之后,错误就会显示出来,并且如果阻止了提交。

但现在它不会提交表格。

这是我在其他浏览器中运行良好的代码。

<script type="text/javascript">
$(document).ready(function () {
    $("#node").hide();
    $("#success").hide();
    $.ajaxSetup({
        cache: false
    });
    $("#contact_form").validate({
        submitHandler: function (form) {
            var str = $(form).serialize();
            $.ajax({
                type: "POST",
                url: 'http://www.french-tuition.co.uk/proccess_contact.php',
                dataType: 'text',
                cache: false,
                data: 'ajax=true&' + str,
                contentType: "application/x-www-form-urlencoded; charset=utf-8",
                success: function (msg) {
                    $("#node").ajaxComplete(function (event, request, settings) {
                        result = msg;
                        $("#node").html(result);
                        if (msg == 'success') {
                            $("#node").hide();
                            $("#contact_form").fadeOut("slow");
                            $("#success").fadeIn("slow");
                        } else {
                            result = msg;
                            $("#node").html(result);
                            $("#node").fadeIn("slow");
                        }
                    });
                }
            });
            return false;
        }
    });
});
</script>

错误肯定在提交函数处理程序中(我通过添加alert();函数来检查。我可以在使用alert函数的ajax调用之前,但不能在之后。)

所以IE和这个功能正在发生一些事情

为什么要在成功函数中绑定#node上的ajaxComplete处理程序? 您不能更改为:

success: function (msg) {
    if (msg == 'success') {
        $("#node").hide();
        $("#contact_form").fadeOut("slow");
        $("#success").fadeIn("slow");
    } else {
        $("#node").html(msg);
        $("#node").fadeIn("slow");
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM