关于Echart的Uncaught TypeError: a.getAxesOnZeroOf is not a function报错问题

下午利用echart做动态可视化的时候,后端代码没有提示错误,前端web页面提示了个

Uncaught TypeError: a.getAxesOnZeroOf is not a function

发现的时候很奇怪,这个错误并不影响它函数体本身的展示,也不影响在它上面的函数体,但在它下面的就无法正常显示,在网上搜了也没发现与我一样的错误,报错如图

看到最后一行点进去看 

 很纳闷,这跟错误有啥关系。

最后经过一番检查对比,发现是因为我没有在option中写xAxis,而是将所有的x轴的参数都放到了ajax函数判断数据获取成功后在行设置。这样写就会导致,如果ajax获取数据失败,那么图的xAxis任何参数都无法正常设置因此会报该错误。之后我将xAxis的参数挪到了option中,只在ajax中设置x轴的数据项,就不报该错误了。

 

这个错误信息“Uncaught TypeError: element.contains is not a function”通常出现在JavaScript代码中,表示你试图在一个不是DOM元素的对象上调用`contains`方法。`contains`方法是DOM元素对象的方法,用于判断一个节点是否是另一个节点的后代节点。 以下是一些可能的原因和解决方法: 1. **元素未正确获取**: 确保你获取的元素是一个DOM元素对象,而不是其他类型的数据(如字符串、数组等)。 ```javascript // 错误的例子 var element = "div"; // 这是一个字符串,不是DOM元素 console.log(element.contains(document.body)); // 报错 // 正确的例子 var element = document.getElementById("myDiv"); // 获取DOM元素 console.log(element.contains(document.body)); // 正常执行 ``` 2. **元素不存在**: 确保元素在DOM中存在。如果元素不存在,`document.getElementById`等方法会返回`null`,而`null`对象没有`contains`方法。 ```javascript // 错误的例子 var element = document.getElementById("nonExistentId"); // 返回null console.log(element.contains(document.body)); // 报错 // 正确的例子 var element = document.getElementById("myDiv"); // 确保元素存在 if (element) { console.log(element.contains(document.body)); } else { console.log("Element does not exist"); } ``` 3. **使用兼容的方法**: 如果你需要兼容较老的浏览器,可以自己实现一个`contains`方法,或者使用其他方法来判断节点关系。 ```javascript // 自定义contains方法 function contains(a, b) { return a.compareDocumentPosition ? a.compareDocumentPosition(b) & 16 : a.contains(b); } var element = document.getElementById("myDiv"); console.log(contains(element, document.body)); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EEEurekaaa!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值