web-dev-qa-db-fra.com

console.log (résultat) renvoie [object Object]. Comment puis-je obtenir result.name?

Mon script renvoie [object Object] à la suite de console.log(result).

Quelqu'un peut-il expliquer s'il vous plaît comment avoir console.log renvoyer les id et name de result?

$.ajaxSetup({ traditional: true });

var uri = "";

$("#enginesOuputWaiter").show();    
$.ajax({
    type: "GET",
    url: uri,
    dataType: "jsonp",
    ContentType:'application/javascript',
    data :{'text' : article},
    error: function(result) {
        $("#enginesOuputWaiter").hide();
        if(result.statusText = 'success') {
            console.log("ok");
            console.log(result);
        } else {
            $("#enginesOuput").text('Invalid query.');
        }
    }
});
65
Wassim Benhamida

Utilisez console.log(JSON.stringify(result)) pour obtenir le JSON au format chaîne.

EDIT: Si votre objectif est d’obtenir l’id et d’autres propriétés de l’objet résultat et que vous voulez voir la console pour savoir s’il existe, vous pouvez vérifier avec hasOwnProperty et accéder à la propriété si elle existe:

var obj = {id : "007", name : "James Bond"};
console.log(obj);                    // Object { id: "007", name: "James Bond" }
console.log(JSON.stringify(obj));    //{"id":"007","name":"James Bond"}
if (obj.hasOwnProperty("id")){
    console.log(obj.id);             //007
}
92
suvartheec

Essayez d’ajouter JSON.stringify(result) pour convertir l’objet JS en chaîne JSON.

À partir de votre code, je peux voir que vous enregistrez le résultat dans error qui est appelée si la demande AJAX échoue , je ne suis donc pas sûr de la manière dont vous souhaitez accéder à l'id/nom /etc. alors (vous vérifiez le succès dans la condition d'erreur!).

Notez que si vous utilisez la console de Chrome, vous devriez être en mesure de parcourir l’objet sans devoir codifier le JSON, ce qui facilite le débogage.

28
Biarity