django+echarts+ajax异步+显示优化--基本例子

简介:

django+echarts+ajax异步+显示优化--基本例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
< div    style = "height:300px;" id = "echarts-line" ></ div >
 
##定义要显示的地方
 
 
< script  src = "/static/js/echarts.min.js" ></ script
#加载js
 
< script >
     $(function () {
         var server_info;
 
         var myChart = echarts.init(document.getElementById('echarts-line'));
         var option = {
             title: {
                 text: '机柜总数'
             },
             tooltip: {},
             legend: {
                 data:['总数']
             },
             xAxis: {
                 data: {{ name  | safe }}    ##第一次访问页面时,先从后端返回一个最新的数据,这样子就不会需要人们等着更新数据。
             },
             yAxis: {},
             series: [{
                 name: '销量',
                 type: 'bar',
                 data: {{ jq | safe }} ##第一次访问页面时,先从后端返回一个最新的数据
             }]
         };
         myChart.setOption(option, true);
 
{#        myChart.showLoading();#}   ## echarts 的显示加载页面
         setInterval( function () {     ##AJAX去获取数据通过showapi
 
                 $.ajax({
                     type: 'GET',
                     url: '/jigui/showapi',
                     dataType: 'json',
                     success: function (json) {
                         server_info = eval(json);
                     }
                 });
 
                     option.xAxis.data =  server_info.name;   ##赋值
                     option.series[0].data = server_info.jq;
{#                    myChart.hideLoading();#}   ## echarts 的隐藏加载页面
                     myChart.setOption(option, true);
 
                 }, 2000);  ##每隔2秒 获取一次,重新生成值
 
          window.onresize = function () {
             myChart.resize();      ##根据页面大小重新定义图形大小
         };
     });
 
</ script >



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@login_required (login_url = "/login.html" )
def  show(request):   ## 展示         第一次访问返回一个数据         
     name_id  =  models.JiguiInfo.objects. filter (id__gt = 0 )
     name  =  []
     jq  =  []
     for  in  name_id:
         name.append(i.name)
         jq.append(i.jq)
     
     ret  =  { 'name' : name,  'jq' : jq}
     
     return  render(request,  'jigui/show.html' ,{ 'name' :name, 'jq' :jq})
 
 
@login_required (login_url = "/login.html" )
def  showapi(request):   ## 展示    API返回数据
     name_id  =  models.JiguiInfo.objects. filter (id__gt = 0 )
     name  =  []
     jq  =  []
     for  in  name_id:
         name.append(i.name)
         jq.append(i.jq)
     
     ret = { 'name' :name, 'jq' :jq}
     return   HttpResponse(json.dumps(ret))









本文转自 295631788 51CTO博客,原文链接:http://blog.51cto.com/hequan/1954409,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
前端开发 JavaScript Java
Ajax进行异步交互:提升Java Web应用的用户体验
Ajax 技术允许在不重载整个页面的情况下与服务器异步交换数据,通过局部更新页面内容,极大提升了 Java Web 应用的响应速度和用户体验。本文介绍 Ajax 的基本原理及其实现方式,包括使用 XMLHttpRequest 对象发送请求、处理响应数据,并在 Java Web 应用中集成 Ajax。此外,还探讨了 Ajax 如何通过减少页面刷新、实时数据更新等功能改善用户体验。
96 3
|
6月前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
239 1
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
|
6月前
|
搜索推荐 前端开发 数据可视化
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
本文介绍了一个基于Python协同过滤算法的旅游景点推荐系统,该系统采用Django框架、MySQL数据库、Bootstrap前端和echarts数据可视化技术,旨在为用户提供个性化的旅游推荐服务,提升用户体验和旅游市场增长。
631 9
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
|
7月前
echarts 提示框异步获取数据 —— formatter 异步回调函数的使用
echarts 提示框异步获取数据 —— formatter 异步回调函数的使用
212 0
|
8月前
|
前端开发 Python
Django框架中Ajax GET与POST请求的实战应用
Django框架中Ajax GET与POST请求的实战应用
|
8月前
|
XML 移动开发 前端开发
JS设置Ajax为同步或异步
JS设置Ajax为同步或异步
120 0
|
8月前
|
JSON 前端开发 JavaScript
Django——Ajax请求
Django——Ajax请求
|
8月前
1.ajax同步和异步区别 2.post和get区别
1.ajax同步和异步区别 2.post和get区别
42 0
|
9月前
|
XML JSON 前端开发
学习Ajax使用异步对象发送请求
Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种用于创建更好、更快以及交互性更强的Web应用程序的技术。
90 3
|
9月前
|
前端开发 JavaScript Java
使用Ajax进行异步交互:提升Java Web应用的用户体验
【4月更文挑战第3天】Ajax技术在Web开发中提升UX,通过与服务器异步交互实现页面局部更新,无需完整刷新。核心组件包括XMLHttpRequest、JavaScript、HTML/CSS及服务器端脚本。在Java Web应用中,可使用原生JavaScript或框架如jQuery、AngularJS实现Ajax请求。Ajax减少页面刷新,实现实时数据更新,即时表单验证和动态UI,显著改善用户体验,是现代Web开发不可或缺的一部分。
107 0