Т.е. не проходит через функцию успеха в ajaxform
-
10-10-2019 - |
Вопрос
Я написал эту функцию 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 {
Не связан с StackOverflow