我正在使用以下JavaScript。它写得很好,直到得到没有值的结果为止。在控制台日志中显示此
未捕获的TypeError:无法读取null的属性'text'
但是我下面的脚本似乎不起作用
var checkCaption = photo.caption.text;
if (checkCaption == null) {
caption = 'meh';
} else {
caption = photo.caption.text;
}
在您的示例中,photo.caption
为空,因此在完成检查之前,代码会在photo.caption.text
调用上中断。
var caption;
if(photo.caption != null) { // Covers 'undefined' as well
caption = photo.caption.text;
} else {
caption = "meh";
}
就我而言,我使用JSON.stringify来检查我是否已收到来自REST服务器的{}(空)响应:
if (JSON.stringify(response.data)=='{}') {
//the response is null
}
else {
//the response of JSON is not null
}
检查响应是否为空对我来说很好。
对我来说,检查json对象的长度已解决问题-
if Object.keys(jsonobj).length === 0){
// JSON object is null
}
else {
// JSON object has data
}