Echarts问题

Echarts问题

Ajax跨域调用数据的问题,Echarts ajax无法调用到json文件或者数据
1. 报错信息

Access to XMLHttpRequest at ‘file://?callback=success_jsonpCallback&_=1640779886186’ from origin ‘null’ has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.
在这里插入图片描述

2. 问题分析

这个项目是想利用Echarts做一个中国地图的展示,由于地图中的城市想要完整的展示出来就需要在地图上为每一个城市"打上一个"坐标,如下图
在这里插入图片描述

数据太多就展示一部分。地图的标点数据太多就只能另存为一个json文件然后尝试通过Ajax来请求这些数据,下面是具体的代码

$.ajax({
type: "get",
async: true, 
url: "../data/city_data.json", //请求发送到
dataType: "json", //返回数据形式为json
// jsonp: "callback",
// jsonpCallback:"success_jsonpCallback",
success: function(result) {
    geoCoordMap = result;
    myChart.hideLoading(); //隐藏加载动画
},
error: function(errorMsg) {
	alert("图表请求数据失败!");
	myChart.hideLoading();
},
});

然后点index.html一运行就坏了就出现了上面报错然后没有办法请求到数据,根据报错其实就是同源策略的原因不允许js代码直接访问本地的文件具体什么是同源策略可以自行百度,但是这个在今年6月份的时候还是可以正常运行的真的是很玄学了。

3. 问题的解决

把项目代码放到本地服务器上然后就可以了,我这里采用的是phpstudy还有其他多种开本地服务的方法,因为我本身电脑有phpstudy的环境然后就直接把代码放到WWW的目录下测试访问json数据文件如果可以访问到数据就证明成功了。
在这里插入图片描述在这里插入图片描述

4. 参考

前端读取本地json文件跨域错误(Access to XMLHttpRequest at “.“ from origin ‘null‘ has been blocked by CORS policy)

echarts本地调试调用JSON地图无法显示问题处理

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用Echarts过程中,常见的问题和解决方法可以总结如下: 1. 如何创建一个自适应的Echarts图表?可以通过以下两种方法实现:一种是使用css样式aspect-ratio(宽高比),另一种是通过在父组件dom操作获取当前高度clientHeight,在子组件中初始化图表。 2. 如何调整Echarts图表的大小、位置和显示网格线?可以通过设置图表的width、height和grid属性来实现。 3. 柱状图根据x坐标数量动态判断柱条的宽度、防止重叠宽度问题。可以通过设置柱状图的barWidth属性来自适应x坐标的数量,并防止重叠。 4. 如何实现渐变色及更新数据后渐变消失的问题?可以使用Echarts提供的线性渐变和径向渐变功能来设置渐变色,并在更新数据后重新设置渐变。 5. Echarts中data和dataset的含义以及数据返回格式。data表示图表的数据,而dataset表示图表的数据集。在Echarts中,数据可以以维度和映射的方式进行设置。 针对上述问题,建议的解决方法是: 1. 首先,参考官方文档的教程,了解Echarts的使用方法和各种属性的含义。 2. 在使用图表时,可以先查看官方示例中是否有类似的使用方法或解决方案。 3. 如果遇到问题无法解决,可以通过搜索博客或技术社区寻找相关的解决方案。 4. 如果博客中的解决方案不适用或无效,可以尝试向其他开发者寻求帮助或咨询Echarts官方论坛。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值