Quelle est la bonne façon d'obtenir une réponse d'un PHP quand je fais une requête ajax en utilisant Jquery?Jquery Ajax réponse
Je possède ce code pour Jquery:
$('#quote-form').submit(function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
data: $(this).serialize(),
dateType: 'json',
url: 'mail.php',
success: function(data) {
alert(data.msg);
}
});
return false;
});
et le code PHP mail.php
:
// Some mail functions here
$mailSent = @mail($to, $subject, $message, $headers);
$return['msg'] = $mailSent ? 'mail sent' : 'mail failure';
echo json_encode($return);
J'ai essayé d'alerter le Reponse alert(data.msg)
mais il veut tout dire non défini. Des pensées?
Jetez un oeil à tous les outils de développement qui sont à votre disposition pour voir la demande qui est retournée. Si vous arrivez à l'alerte, la demande revient bien. Vous avez juste besoin d'inspecter ce à quoi ressemble 'data' (faire une console.log (data) dans Chrome pour l'afficher) –
Pourriez-vous essayer d'alerte (data)? :) –
Vous devez analyser votre JSON après succès avec ['.parseJSON()'] (http://api.jquery.com/jQuery.parseJSON/) ou essayer d'utiliser ['.getJSOn()'] (http : //api.jquery.com/jQuery.getJSON/) au lieu de '.ajax()' – JMax