[Office] В ajax не вызывается функция success
Василий, здравствуй!
Делаю в office контроллер по образу и подобию Profile.
На сервере всё нормально отрабатывает, изменяет нужные мне данные и возвращает ответ.
Но почему-то функция success в js файле не вызывается.
Может это как-то связано, что у меня 2 формы на странице — контроллера Profile и моего контроллера PersonalPage.
Ниже полностью код js файла. Может есть какие-то предположения. Хочется сделать всё красиво через ajax))
Делаю в office контроллер по образу и подобию Profile.
На сервере всё нормально отрабатывает, изменяет нужные мне данные и возвращает ответ.
Но почему-то функция success в js файле не вызывается.
Может это как-то связано, что у меня 2 формы на странице — контроллера Profile и моего контроллера PersonalPage.
Ниже полностью код js файла. Может есть какие-то предположения. Хочется сделать всё красиво через ajax))
Office.personalpage = {
initialize: function(selector) {
var elem = $(selector);
if (!elem.length) {return false;}
// Disable elements during ajax request
$(document).ajaxStart(function() {
elem.find('button, a').attr('disabled', true);
})
.ajaxStop(function() {
elem.find('button, a').attr('disabled', false);
});
$(document).on('submit', selector, function(e) {
$(this).ajaxSubmit({
url: OfficeConfig.actionUrl
,dataType: 'json'
,beforeSubmit: function(data) {
Office.Message.close();
data.push({name: 'action', value:'personalpage/Update'});
}
,success: function(response) {
var i;
if (response.success) {
Office.Message.success(response.message);
if (response.data) {
for (i in response.data) {
if (response.data.hasOwnProperty(i)) {
$(selector + ' [name="'+i+'"]').val(response.data[i]);
}
}
}
}
else {
Office.Message.error(response.message, false);
if (response.data) {
for (i in response.data) {
if (response.data.hasOwnProperty(i)) {
$(selector + ' [name="'+i+'"]').parent().find('.message').text(response.data[i]);
}
}
}
}
}
});
return false;
});
return true;
}
};
Office.personalpage.initialize('#office-personalpage-form');
Комментарии: 3
А с сервера тs возвращаешь json массив, в котором есть ключ success = 1?
Именно его ожидает увидеть javascript.
Именно его ожидает увидеть javascript.
Ты прям провидец, возвращался пхп массив, а не json. Всё проверил, а вот на это внимания не обратил — нет опыта в ajax-е.
Очередное спасибо!
Очередное спасибо!
На здоровье!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.