Javascript IE未在AJAXFORM中传递成功函数

Javascript IE未在AJAXFORM中传递成功函数,javascript,jquery,ajaxform,ie8-browser-mode,Javascript,Jquery,Ajaxform,Ie8 Browser Mode,我编写了这个ajaxform函数,其中包含一个success函数,在使用表单时调用该函数。ajaxform在除IE以外的任何浏览器中都能出色地工作。我不明白IE为什么不传递该功能 AjaxForm: function setupAjaxForm(form_class, updateStatus){ var form = '.'+form_class; var form_action = $(form).attr('action');

我编写了这个ajaxform函数,其中包含一个success函数,在使用表单时调用该函数。ajaxform在除IE以外的任何浏览器中都能出色地工作。我不明白IE为什么不传递该功能

AjaxForm:

function setupAjaxForm(form_class, updateStatus){
            var form = '.'+form_class;
            var form_action = $(form).attr('action');
            var form_url = form_action+"ajax/";

            var submitOptions = {
                    url : form_url,
                    type : 'POST',
                    dataType : 'json',
                    success : function(json) {
                    var results = json.results;
                              alert(results);
                    if(results == "success"){
                        updateStatus(json);
                    }else{
                        alert(" FAIL ");
                                    }
                    }
            };
            $(form).ajaxForm(submitOptions);
        }
function addProductCartStatus(json){
    alert(" Entered for jquery ");
}
成功功能:

function setupAjaxForm(form_class, updateStatus){
            var form = '.'+form_class;
            var form_action = $(form).attr('action');
            var form_url = form_action+"ajax/";

            var submitOptions = {
                    url : form_url,
                    type : 'POST',
                    dataType : 'json',
                    success : function(json) {
                    var results = json.results;
                              alert(results);
                    if(results == "success"){
                        updateStatus(json);
                    }else{
                        alert(" FAIL ");
                                    }
                    }
            };
            $(form).ajaxForm(submitOptions);
        }
function addProductCartStatus(json){
    alert(" Entered for jquery ");
}
调用函数

$(document).ready(function(){
    $('.addto_cart').click(function(){new setupAjaxForm('add_cartForm',addProductCartStatus);});
});
应该是

if(result == "success")
你应该用“{”来表示你的if

if(result == "success") {
   updateStatus(json);
} else {

这个答案主要是针对你最近的评论

internet explorer在某些情况下更为僵硬。如前所述,这一行
result=“success”
是错误的,它将结果转换为一个包含success字样的字符串,并且始终为true,因此它总是会更新


还建议在ajax调用中添加一个
error:function(){}

这里没有理由
new
,您没有调用构造函数。另外,您的代码缩进很糟糕,我花了3次时间才弄清楚
}
警报与匿名功能匹配后……它在firefox和其他浏览器中工作,在IE浏览器中工作。所以,这意味着所有的函数都可以工作。在哪个警报之后?如果我错了,请解释你自己。实际上应该是
==
,因为任何人都不应该玩强迫魔法类型的俄罗斯轮盘赌,是的,对于string==string可能没问题,但这是一个一致性的问题:)哈哈哈,让我试试俄罗斯轮盘赌:)但是在IE中,警报(结果)函数甚至没有被调用。我希望如果有帮助的话,经常检查每个浏览器开发人员工具每个变量的值。