我已经编写了此Ajaxform函数,并具有成功函数,该功能在表单上被调用。 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 ");
}

呼叫功能

$(document).ready(function(){
    $('.addto_cart').click(function(){new setupAjaxForm('add_cartForm',addProductCartStatus);});
});
有帮助吗?

解决方案

这个答案主要是您的最新评论

在某些情况下,Internet Explorer更加僵硬。这线 result = "success" 如前所述是错误的,将其转换为带有单词成功的字符串,并且始终是正确的,因此它总是更新

还建议添加一个 error:function(){} 在您的Ajax电话上

其他提示

if(result = "success")

应该

if(result == "success")

而且您应该使用“ {”

if(result == "success") {
   updateStatus(json);
} else {
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top