console.log(result)输出[object对象]。我如何得到result。name?

我的脚本正在打印[object Object]作为console.log(result)的结果。

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

$.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.');
}
}
});
355229 次浏览

使用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
}

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

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

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