Вопрос

Я написал эту функцию ajaxform с функцией успеха, которая вызывается при суммировании формы. Ajaxform работает компенсировано в любом браузере, кроме то есть. Я не могу понять, почему то есть не передает функцию.

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