IE vorbei nicht über Erfolg Funktion in AJAXFORM
-
10-10-2019 - |
Frage
Ich habe diese ajaxform Funktion mit einer Erfolgsfunktion geschrieben, die auf sumiting das Formular aufgerufen wird. Die ajaxform arbeitet Awesomely in jedem anderen Browser als Internet Explorer. Ich kann nicht verstehen, warum IE ist die Funktion nicht übergeben.
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);
}
Erfolgsfunktion:
function addProductCartStatus(json){
alert(" Entered for jquery ");
}
aufrufen Funktion
$(document).ready(function(){
$('.addto_cart').click(function(){new setupAjaxForm('add_cartForm',addProductCartStatus);});
});
Lösung
this answer goes mainly to your latest comment
internet explorer is more stiff in some cases. this line result = "success"
as mentioned is wrong and converts result into a string with the word success in it and is always true so it always updates
also its recommended to add a error:function(){}
on your ajax call
Andere Tipps
if(result = "success")
Should be
if(result == "success")
And you should use "{" for your if
if(result == "success") {
updateStatus(json);
} else {
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow