Hier ist mein Code, der eine Form über AJAX sendet und dann gemeint ist, eine Nachricht anzuzeigen, zurück an den BenutzerProblem mit einer JSON-String
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 sagt, dass die JSON zurückgegeben wird
ist{ "Erfolg": true, "messsage": "Sent erfolgreich"}
ich leicht den Wert von data.success
bekommen kann, aber wann immer Ich versuche und Zugriff auf data.message
es ist auf 'undefiniert' festgelegt.
Wenn jedoch ich
console.log(data)
erhalte ich die richtige Ausgabe in Firebug:
Objekt Erfolg = true messsage = Gesendete erfolgreich
Was wie das klingt Ursache dafür? Es macht mich verrückt!
Vielen Dank im Voraus für jede Hilfe.
Ich gebe Ihnen die akzeptierte Antwort, weil Sie die wenigsten Rep :) – alex
Aw .. so süß: p – womp