我在AJAX通话后收到JSON响应。响应包含一些元素,如id,name,number等。该方法有时返回id和数字,在其他情况下返回id,名称和数字。在AJAX的成功部分,JQuery方法我正在测试我是否得到了正确的密钥。当名称等密钥存在时,我收到错误:Cannot read property 'name' of null
。很明显,我的if条件有问题。
$.ajax({
url: "edit_info",
type: 'POST',
data: {
'id': id
},
success: function(data) {
if (data.name) {
console.log(data.name);
}
});
所以任何替代
答案 0 :(得分:2)
typeof
允许以前从未声明过标识符。
if (typeof data.name != "undefined" && data.name.trim().length) {
console.log(data.name);
}
答案 1 :(得分:0)
当您收到Cannot read property 'name' of null
时,表示您的data
对象为null
您可以检查假值
if(data && data.name){
console.log(data.name);
}
答案 2 :(得分:0)
使用typeof运算符
if(typeof data.name!='undefined')
{
console.log(data.name)
}
答案 3 :(得分:0)
Jquery为您提供length任务功能
if ( data.length != 0 ){
console.log(data.name);
}