关于javascript:console.log(result)返回[object Object]。

console.log(result) returns [object Object]. How do I get result.name?

本问题已经有最佳答案,请猛点这里访问。

由于console.log(result),我的脚本将返回[object Object]

有人能解释一下如何让console.logresult退回idname吗?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$.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.');
        }
    }
});


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

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

1
2
3
4
5
6
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
}


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

从您的代码中,我可以看到您将结果记录在error中,如果Ajax请求失败,则会调用该结果,因此我不确定您将如何访问ID/name/etc。然后(您将在错误条件中检查是否成功!).

注意,如果您使用chrome的控制台,那么您应该能够浏览对象,而不必将JSON串接起来,这使得调试更加容易。