Pregunta

He escrito esta función ajaxform con éxito una función que está siendo llamado a sumiting la forma. El ajaxform funciona IMPRESIONANTEMENTE en cualquier navegador que no sea Internet Explorer. No puedo entender por qué IE no está pasando la función.

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);
        }

Función de éxito:

function addProductCartStatus(json){
    alert(" Entered for jquery ");
}

Función de llamada

$(document).ready(function(){
    $('.addto_cart').click(function(){new setupAjaxForm('add_cartForm',addProductCartStatus);});
});
¿Fue útil?

Solución

esta respuesta se dirige principalmente a su último comentario

Internet Explorer es más rígida en algunos casos. result = "success" esta línea como se ha mencionado es incorrecto y convierte el resultado en una cadena con la palabra éxito en ella y siempre es cierto lo que siempre actualizaciones

También se recomienda su añadir un error:function(){} en su llamada AJAX

Otros consejos

if(result = "success")

En caso de ser

if(result == "success")

Y usted debe utilizar "{" para su caso

if(result == "success") {
   updateStatus(json);
} else {
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top