Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取未定义的属性0_Javascript_Api_Bitmex - Fatal编程技术网

Javascript 无法读取未定义的属性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

我得到未捕获的TypeError:“无法读取未定义的属性“0”错误。我就是搞不懂这个问题

尽管程序运行正常&我得到了期望的输出。但是错误


检查
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;

   };