Ich habe eine Javascript-Datei, die einen AJAX-Aufruf an eine PHP-Datei auf dem Server macht, die JSON-codierte Daten zurückgibt. Die PHP-Datei kann entweder zurückgeben einen Erfolg oder einen Misserfolg je mit etwa einem Dutzend verschiedenen Nachrichten wie folgt:JavaScript Lesen von JSON-Ergebnis von AJAX-Antwort
if (something here) {
if(something else here) {
if(more tests here) {
$response['success'] = 'Successfully did something.';
} else {
$response['success'] = 'Successfully made this work';
}
} else {
$response['error'] = 'Failed to make the donuts.';
}
} else {
$response['error'] = 'I need more information!';
}
echo json_encode($response);
exit;
ich habe Javascript/jquery am vorderen Ende, die für den Reaktion Fehlerzustand prüfen und Anzeigen eine Warnmeldung und Durchführung einiger anderer relevanter Aktionen abhängig.
$.post(ajaxurl, data, function(response) {
if(response.hasOwnProperty("success")) {
if($(this).is(":checked")) {
$(this).removeAttr("checked");
} else {
$(this).attr("checked", "true");
}
alert(response["success"]);
} else {
alert("Sorry, something went wrong. \nError: " + response["error"]);
}
});
Das Problem ist, dass egal, wie ich für den Erfolg Zustand überprüfen es zeigt immer die Fehlermeldung mit einer response['error']
von undefined
I-Tests für typeOf response['success'] != "undefined"
und eine Reihe von anderen Möglichkeiten versucht haben, wenn der Erfolg Wert zu sehen, ist eingestellt, aber nichts scheint zu funktionieren. Ich bekomme eine Antwort, dass, wenn ich console.log es so aussieht: { "success", "Successfully did something." }
Was mache ich falsch beim Lesen der Nachricht?
do console.log response (überprüfen Sie, ob ur die Antwort bekommen) dann wenn (response.success) tun Sie nicht tun, es ist nicht erforderlich. – wilsonrufus
Welche Version von Jquery verwenden Sie? –
es ist die neueste Version von Jquery und ich bekomme eine Antwort – dpegasusm