console.log(result) 打印 [object Object]。如何获取结果名称?

问题描述 投票:0回答:4

由于

[object Object]
,我的脚本正在打印
console.log(result)

有人可以解释一下如何让

console.log
打印
id
name
中的
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.');
        }
    }
});
javascript jquery arrays json ajax
4个回答
287
投票

使用

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
}

69
投票

尝试添加

JSON.stringify(result)
将 JS 对象转换为 JSON 字符串。

从您的代码中我可以看到您正在将结果记录在

error
中,如果AJAX请求失败,则会调用该结果,所以我不确定您将如何访问ID/名称/等。然后(您正在检查错误条件内是否成功!)。

请注意,如果您使用 Chrome 的控制台,您应该能够浏览该对象,而无需对 JSON 进行字符串化,这使得调试更容易。


3
投票

尝试:

console.dir(object)

这是在控制台中查看指定 JavaScript 对象的所有属性的方法。


0
投票

console.log
接受可变参数或剩余参数。使用具有多个参数的方法时,该值将以其预期的可读格式打印。

这是

console.log
接受多个参数的示例:

console.log("result:", result);

您也可以这样做:

console.log("result:", result, "id:", result.id, "name:", result.name);

https://developer.mozilla.org/en-US/docs/Web/API/console/log

© www.soinside.com 2019 - 2024. All rights reserved.