IE non passare sopra la funzione successo nel AJAXFORM
-
10-10-2019 - |
Domanda
ho scritto questa funzione ajaxform con una funzione di successo che sta chiamando sulla sumiting modulo. L'ajaxform funziona incredibilmente con qualsiasi browser diverso da IE. Non posso capire perché IE non sta passando la funzione.
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);
}
Funzione Successo:
function addProductCartStatus(json){
alert(" Entered for jquery ");
}
funzione di chiamata ??strong>
$(document).ready(function(){
$('.addto_cart').click(function(){new setupAjaxForm('add_cartForm',addProductCartStatus);});
});
Soluzione
questa risposta va principalmente a tuo ultimo commento
Internet Explorer è più rigida, in alcuni casi. questa linea result = "success"
come detto è sbagliato e converte il risultato in una stringa con la parola successo in esso ed è sempre vero quindi è sempre aggiornamenti
anche la sua consiglia di aggiungere un error:function(){}
sulla vostra chiamata AJAX
Altri suggerimenti
if(result = "success")
Dovrebbe essere
if(result == "success")
e si dovrebbe utilizzare "{" per il vostro caso
if(result == "success") {
updateStatus(json);
} else {