console.log (resultado) devuelve [objeto Objeto]. ¿Cómo obtengo result.name? [duplicar]

170

Mi guión está regresando [object Object]como resultado de console.log(result).

¿Alguien puede explicar cómo console.logdevolver el idy namedesde 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.');
        }
    }
});
7
  • 2
    ¿Intentaste analizarlo? [object Object]es solo una representación de cadena, no el aspecto real del objeto. 26/12/2016 a las 22:06
  • Ese servicio web parece devolver JSON, no JSONP, por lo que debe cambiar su dataType. Probablemente también sea por eso que errorse invoca a su controlador, donde difícilmente obtendrá un éxito result.
    Bergi
    26/12/2016 a las 22:08
  • Tiene el símbolo BOM en su respuesta: joxi.ru/vAWVVbh1k34N2W así que corrija su código php, limpie las listas de materiales de codificación utf8 innecesarias
    num8er
    26/12/2016 a las 22:09
  • 3
    result.statusText = 'success'debería ser result.statusText === 'success'. De lo contrario, está asignando "éxito" al objeto de resultado. 26/12/2016 a las 22:17
  • ¿Podría explicar la necesidad de esto en la getsolicitud data :{'text' : article} :?
    num8er
    26/12/2016 a las 22:24
222

Úselo console.log(JSON.stringify(result))para obtener el JSON en formato de cadena.

EDITAR: Si su intención es obtener la identificación y otras propiedades del objeto de resultado y desea ver la consola para saber si está allí, puede verificar hasOwnPropertyy acceder a la propiedad si 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
}
5
  • 2
    También puede obtener un registro de estilo json en esta mansión 'console.log (' connection:% j ', myObject);' 9/11/18 a las 6:53
  • 8
    Hola, pensé que estaba tratando de hacer lo mismo, pero seguí haciéndolo ERROR TypeError: Converting circular structure to JSON. ¿Es esto porque estoy aplicando este método no en un objeto?
    Gel
    18/01/19 a las 2:31
  • 2
    @GelSisaed Eso sucederá si alguna de las propiedades de su variable es una referencia a esa variable. refiera esta publicación y también esta 18/01/19 a las 9:26
  • 9
    Sí, el encordar me dio "[object Object]"como si se estuviera burlando de mí. 22/10/20 a las 21:07
  • También puede usar console.debug(obj)o console.dir (obj) para obtener el resultado en nodejs
    ikhvjs
    25 de agosto a las 9:16
48

Intente agregar JSON.stringify(result)para convertir el objeto JS en una cadena JSON.

Desde su código, puedo ver que está registrando el resultado en el errorque se llama si falla la solicitud AJAX , por lo que no estoy seguro de cómo accedería a la identificación / nombre / etc. luego (¡está comprobando el éxito dentro de la condición de error!).

Tenga en cuenta que si usa la consola de Chrome, debería poder navegar a través del objeto sin tener que codificar el JSON, lo que facilita la depuración.

2
  • 23
    ¿Dónde está la petición para hacer esta práctica estándar? [object Object] es la declaración de registro más inútil 10 de diciembre de 2019 a las 2:31
  • También puede usar console.debug(obj)o console.dir(obj)para obtener el resultado en nodejs
    ikhvjs
    25 de agosto a las 9:16