IE не пропускает функцию успеха в AJAXFORM - PullRequest
0 голосов
/ 12 января 2011

Я написал эту функцию 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);});
});

Ответы [ 2 ]

0 голосов
/ 12 января 2011

этот ответ в основном относится к вашему последнему комментарию

Internet Explorer в некоторых случаях более жесткий.эта строка result = "success", как уже упоминалось, неверна и преобразует результат в строку со словом success в ней и всегда верна, поэтому она всегда обновляет

, также рекомендуется добавить error:function(){} к вашему вызову ajax

0 голосов
/ 12 января 2011
if(result = "success")

Должно быть

if(result == "success")

И вы должны использовать "{" для вашего, если

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