Javascript 无法读取未定义的属性0
我得到未捕获的TypeError:“无法读取未定义的属性“0”错误。我就是搞不懂这个问题 尽管程序运行正常&我得到了期望的输出。但是错误Javascript 无法读取未定义的属性0,javascript,api,bitmex,Javascript,Api,Bitmex,我得到未捕获的TypeError:“无法读取未定义的属性“0”错误。我就是搞不懂这个问题 尽管程序运行正常&我得到了期望的输出。但是错误 检查resp/resp.data是否为空。如果resp/resp.data为空,则索引0中没有任何内容 ws.onmessage = function (msg){ var resp = JSON.parse(msg.data); console.log('Data : ' + data); consol
检查
resp/resp.data
是否为空。如果resp/resp.data
为空,则索引0
中没有任何内容
ws.onmessage = function (msg){
var resp = JSON.parse(msg.data);
console.log('Data : ' + data);
console.log('resp: ' + resp);
var price;
if(resp && resp.data){
price = resp.data[0].price; // can not read property 0 of undefined :/
}
console.log('Price is : ' + price);
//document.getElementById('btcPrice').value = price;
};
onmessage函数中msg参数的结构是什么?我问这个问题是因为resp没有数据属性,因为你已经在resp中存储了msg.data。你能告诉我们控制台日志正在打印什么吗?我已经附上了控制台的屏幕截图。你能添加console.log(resp)吗;问题的结果?在任何
resp
变量日志中都没有data
属性。我建议使用facebook团队开发的实用函数,以防止出现以下情况:错误消失,但现在价格未定义。我会发布控制台的截图。我已经更新了我的答案。请尝试此操作。如果0
未定义,则没有价格可推断。现在它显示:未捕获引用错误:数据未定义在If(){}
之前,打印resp
,查看其长度并检查是否有resp['data']
存在
ws.onmessage = function (msg){
var resp = JSON.parse(msg.data);
console.log('Data : ' + data);
console.log('resp: ' + resp);
var price;
if(resp && resp.data){
price = resp.data[0].price; // can not read property 0 of undefined :/
}
console.log('Price is : ' + price);
//document.getElementById('btcPrice').value = price;
};