Вот мой код, который отправляет форму через AJAX и затем предназначен для отображения сообщения обратно пользователю
var postValues = {
name: $($nameObject).val(),
email: $($emailObject).val(),
message: $($messageObject).val(),
form: $(this).find('input[name=form]').val()
};
var form = this;
$.post(config.basePath + 'contact/', postValues, function(data) {
// get json here and make sure it sent
console.log('done request!');
console.log(data.success);
var $statusObject = $(form).find('.status-message');
if (data.success) {
console.log(data.message);
$statusObject.removeClass('failed').text(data.message);
setTimeout(function() {
$statusObject.fadeOut(1500).remove();
$(form).find('input[type=text], textarea').val('');
$(form).find('button[type=submit]').removeAttr('disabled').parent('div').removeClass('sending');
}, 1500);
} else { // error with ajax
$statusObject.addClass('failed').text(data.message);
$(form).find('button[type=submit]').removeAttr('disabled');
}
}, 'json');
return false;
});
Firebug говорит, что возвращается JSON
{ "Успех": правда, "messsage": "Отправленные
успешно "}
Я легко могу получить значение data.success
, но всякий раз, когда я пытаюсь получить доступ к data.message
, оно устанавливается на «неопределенное».
Однако, когда я делаю
console.log(data)
Я получаю правильный вывод в Firebug:
Объект успешно = истинное сообщение = успешно отправлено
Что звучит как причина этого? Это сводит меня с ума!
Заранее спасибо за любую помощь.