J'ai ce javascript:
$ajax = $.ajax({
type: 'GET',
url: 'DBConnect.php',
data: '',
dataType: 'json',
success: function(data) {},
error:function (xhr, ajaxOptions, thrownError) {
dir(thrownError);
dir(xhr);
dir(ajaxOptions);
}
});
console.dir($ajax);
console.dir($ajax.responseJSON);
console.dir ($ ajax) montre qu'il a une propriété nommée responseJSON, mais lorsque j'essaie d'y accéder avec $ ajax.responseJSON, il renvoie undefined:
Bien sûr, ce n'est pas défini, car au moment où vous exécutez console
aux dernières lignes de votre code, la réponse n'est pas encore venue du serveur.
$.ajax
Renvoie promesse, que vous pouvez utiliser pour attacher des rappels done()
et fail()
, où vous pouvez utiliser toutes les propriétés que vous voyez. Et vous avez en fait utilisé le rappel error
et success
, et c'est là que vous pouvez exécuter du code et d'autres fonctions qui s'appuient sur les données dans la réponse.
Vous pouvez utiliser cette astuce pour obtenir la réponse:
jQuery.when(
jQuery.getJSON('DBConnect.php')
).done( function(json) {
console.log(json);
});
Il est tard mais j'espère que cela aidera les autres.
La réponse, ce sont les "données", en cas de succès ... afin que vous puissiez accéder à ces données d'écriture [0], données [1], à l'intérieur du succès.
Par exemple:
success: function(data) {
alert(data[0]);
},
Si vous voulez cette réponse, hors du succès, vous pouvez définir une variable à l'extérieur et essayez ceci:
success: function(data) {
myVar = data;
},
J'espère que cette aide.