Django、Echarts异步请求、动态更新

前端页面

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>echarts示例</title>		
		<script src="jquery.min.js"></script>
		<script type = "text/javascript" src = "echarts.min.js" ></script>		
	</head>
	
	<body>				
		<div id="main" style="width: 600px;height:400px;"></div>
		<script type="text/javascript">
			var myChart = echarts.init(document.getElementById('main'));
			
			// 初始化图表选项
			myChart.setOption({
			    title: {
			        text: 'ECharts 数据异步加载示例'
			    },
			    tooltip: {},
			    legend: {
			        data: ['销量']
			    },
			    xAxis: {
			        data: []
			    },
			    yAxis: {},
			    series: [{
			        name: '销量',
			        type: 'bar',
			        data: []
			    }]
			});
			
			function fetchData() {
			    $.ajax({
			        url: 'api/echarts/demo/', // 改为你的数据接口地址
			        dataType: 'json',
			        success: function(data) {
			            // 假设返回的数据格式如下:
			            // {
			            //     categories: ["衬衫", "羊毛衫", ...],
			            //     values: [5, 20, ...]
			            // }
			            myChart.setOption({
			                xAxis: {
			                    data: data.categories
			                },
			                series: [{
			                    name: '销量',
			                    data: data.values
			                }]
			            });
			        },
			        error: function(xhr, type, errorThrown) {
			            // 处理错误
			        }
			    });
			}
			
			// 设置定时器,定期更新数据
			setInterval(function () {
			    fetchData(); // 调用获取数据的函数
			}, 5000); // 5000毫秒即5秒钟更新一次数据
		</script>
	</body>
</html>

跨域问题,依然采用nginx代理。

后端代码

from django.http import HttpResponse
import json

def EchartsDemo(request):
    data = {}
    categories = ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
    values = [50, 20, 36, 10, 10, 20]
    data['categories'] = categories
    data['values'] = values
    print("echerts=",data)
    return HttpResponse(json.dumps(data), content_type="application/json")

展示效果:

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云淡风轻58

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

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

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

打赏作者

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

抵扣说明:

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

余额充值