console.log(result)返回[object Object].我如何获得result.name?

Was*_*ida 75 javascript arrays ajax jquery json

我的脚本返回[object Object]为的结果console.log(result).

可有人请解释如何有console.log归还idnameresult

$.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.');
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

suv*_*eec 103

用于console.log(JSON.stringify(result))以字符串格式获取JSON.

编辑:如果您的目的是从结果对象中获取id和其他属性,并且您希望看到控制台知道它是否存在,那么您可以检查hasOwnProperty并访问该属性(如果它存在):

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
}
Run Code Online (Sandbox Code Playgroud)

  • 是的,字符串化给了我“[object Object]”,就像它在嘲笑我一样。 (8认同)
  • 你也可以在这个庄园'console.log('connection : %j', myObject);'中获取json风格的日志 (2认同)
  • 嗨,我以为Im试图做同样的事情,但是我不断得到`ERROR TypeError:将圆形结构转换为JSON`。这是因为我不在对象上应用此方法吗? (2认同)
  • @GelSisaed 如果您的变量的任何属性是对该变量的引用,就会发生这种情况。参考 [这篇文章](/sf/answers/3554167501/) 和 [this one](/sf/answers/337138091/) (2认同)

Bia*_*ity 28

尝试添加JSON.stringify(result)将JS对象转换为JSON字符串.

从你的代码我可以看到你正在记录error如果AJAX请求失败时调用的结果,所以我不确定你如何访问id/name/etc. 然后(你正在检查错误条件内的成功!).

请注意,如果您使用Chrome的控制台,则应该能够浏览对象而无需对JSON进行字符串化,这样可以更轻松地进行调试.

  • 制定此标准做法的请愿书在哪里?[object Object]是最没用的日志语句 (22认同)
  • 您还可以使用`console.debug(obj)`或`console.dir(obj)`在nodejs中获取结果 (3认同)