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

<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>
@login_required(login_url="/login.html")
def show(request):  ## 展示         第一次访问返回一个数据         
    name_id = models.JiguiInfo.objects.filter(id__gt=0)
    name = []
    jq = []
    for i 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 i in name_id:
        name.append(i.name)
        jq.append(i.jq)
    
    ret={‘name‘:name,‘jq‘:jq}
    return  HttpResponse(json.dumps(ret))
时间: 2024-08-29 23:48:04

django+echarts+ajax异步+显示优化--基本例子的相关文章

ajax异步加载小例子....(通俗易懂)

web.html(用户端): <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>11</title> <script type="text/javascript" src="jquery-1.11.3.min.js"></script> <

Django ajax异步请求分页的实现

Django中有一个自带的Paginator分页器,用起来很方便的在原生的模板中进行调用函数分页: 可是每次点击换页都会重新载入页面,原来是原生分页器依靠的是A标签的GET请求实现的,这就要用ajax异步请求来解决这个尴尬的情况,(有时同一页面会有多个不同的分类需要添加分页器的场景等),但是ajax回调时接收的是json,而json不能给模板传入对象,该怎么分页呢? 1.就将分页需要用到的数据从对象中提前取出来,放在字典里面 2.前台调用时候不再从对象中取,而是字典中取,完成分页样式:  我把一

javaweb局部刷新-ajax异步请求springMVC显示返回的jsp内容,代替iframe

在jsp上要引入jquery <script src="<%=request.getContextPath()%>/js/jquery_ui/jquery.js"></script> 在js中发起请求 function get(p) { var patch="show"+p; $.ajax({ //这是$.ajax()方法 type:"POST", url:patch, //路径可以用相对路径,起点以此方法所在

AJAX异步学习总结(1)

AJAX异步学习总结(1) AJAX异步学习总结(1) ①:运用HTML和CSS来实现页面,表达信息: ②:运用XMLHttpRequest和服务器进行数据的异步交换: ③:运用JavaScript操作DOM,实现动态局部刷新: HTTP请求 HTTP是一个无状态的链接 一个完整的HTTP请求过程,7个步骤 建立TCP连接: WEB浏览器向WEB服务器发送请求命令: Web浏览器发送请求头信息: Web服务器应答: Web服务器发送应答头信息: Web服务器向浏览器发送数据: Web服务器关闭T

黑马eesy_15 Vue:03.生命周期与ajax异步请求&amp;&amp;04.vue案例

黑马eesy_15 Vue:02.常用语法 vue的生命周期与ajax异步请求 1.Vue的快速入门2.Vue的语法 插值表达式 事件的绑定 数据的显示 逻辑判断和循环输出3.Vue的生命周期 8个生命周期的执行点 4个基本的 4个特殊的4.axios的ajax异步请求 它和jquery的ajax比较相似 5.综合案例    实现用户的查询列表和更新操作        前端:Vue        后端:ssm 3.VueJS生命周期 每个 Vue 实例在被创建之前都要经过一系列的初始化过程. v

jQuery ajax 异步请求

jQuery - AJAX 简介 AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新. 什么是 AJAX? AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML). 简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示. 关于 jQuery 与 AJAX jQuery 提供多个与 AJAX 有关的方法. 通过 jQuery AJAX 方法,您能够使用 HTTP Get

ajax 异步请求四个步骤

ajax异步请求详解 ajxa定义:异步的JavaScript和xml 1.XMLHttpRequst的出现才有了异步处理 2.创建XmlHttpRequest对象 var request=new XMLHttpRequest(); 注意:如果要兼容IE6以下浏览器则需要编写如下代码 var request; if(window.XMLRequest){ request=new XMLRequestHttpRequest();  //IE7.IE8.360等 }else{ request=new

触碰jQuery:AJAX异步详解

触碰jQuery:AJAX异步详解 传送门:异步编程系列目录…… 示例源码:触碰jQuery:AJAX异步详解.rar AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它并非一种新的技术,而是以下几种原有技术的结合体. 1)   使用CSS和XHTML来表示. 2)   使用DOM模型来交互和动态显示. 3)   使用XMLHttpRequest来和服务器进行异步通信. 4)   使用javascript来绑定和调用.

PHP curl 抓取AJAX异步内容

其实抓ajax异步内容的页面和抓普通的页面区别不大.ajax只不过是做了一次异步的http请求,只要使用firebug类似的工具,找到请求的后端服务url和传值的参数,然后对该url传递参数进行抓取即可. 利用Firebug的网络工具 如果抓去的是页面,则内容中没有显示的数据,是一堆JS代码. Code $cookie_file=tempnam('./temp','cookie'); $ch = curl_init(); $url1 = "http://www.cdut.edu.cn/defau