[Office] В ajax не вызывается функция success

Василий, здравствуй!

Делаю в 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');
Олег Трубин
16 октября 2013, 18:12
modx.pro
2 176
0

Комментарии: 3

Василий Наумкин
16 октября 2013, 22:14
0
А с сервера тs возвращаешь json массив, в котором есть ключ success = 1?

Именно его ожидает увидеть javascript.
    Олег Трубин
    17 октября 2013, 11:41
    0
    Ты прям провидец, возвращался пхп массив, а не json. Всё проверил, а вот на это внимания не обратил — нет опыта в ajax-е.
    Очередное спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
3