echarts 折线图 ajax 请求数据

Posted 半暖时光丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echarts 折线图 ajax 请求数据相关的知识,希望对你有一定的参考价值。

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@page import="com.Bean.*"%>
 4 <%@page import="java.util.List"%>
 5 <!DOCTYPE html>
 6 <html lang="en">
 7 <head>
 8   <meta charset="UTF-8">
 9   <meta name="viewport" content="width=device-width, initial-scale=1.0">
10   <title>疫情地图展示</title>
11   <style>
12     #myEcharts {
13       width: 800px;
14       height: 600px;
15       border: solid 1px red;
16       margin: 0 auto;
17     }
18   </style>
19   <!-- 引入 echarts.js  直接在Echarts 网站找到的线上的js文件 不需要下载 下面一样 -->
20   <script src="https://www.echartsjs.com/examples/vendors/echarts/echarts.min.js?_v_=1578305236132"></script>
21   <!--引入中国的地图数据js文件,引入后会自动注册地图名字和数据-->
22   <script src="https://www.echartsjs.com/examples/vendors/echarts/map/js/world.js?_v_=1584687926098"></script>
23  <script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
24 </head>
25 
26 <body>
27  
28 
29 
30 
31   <!--为echarts准备一个dom容器-->
32   <div id="myEcharts"></div>
33   <script>
34   
35   var myChart = echarts.init(document.getElementById(‘myEcharts‘));
36   option = {
37           title:{
38             text: ‘全球疫情走势(确诊人数)‘  
39           },
40             xAxis: {
41                 type: ‘category‘
42             
43             },
44             yAxis: {
45                 type: ‘value‘,
46                 
47             },
48             series: [{
49                 type: ‘line‘,
50                 smooth:true
51             }],
52         };
53   myChart.setOption(option);
54   var times=[];
55   var nums=[];
56   //异步操作获取数据
57   line_url= "${pageContext.request.contextPath }/lineServlet";
58   $.ajax({
59         //url 地址
60         url:line_url,
61         //是否异步 默认为异步
62         async:true,
63         //请求方式,POST/GET
64         type:"POST",
65         data:{"name":"lucy","age":18},
66         //成功响应执行的函数,对应的类型是function类型
67         //用result 操作返回的数据
68         success:function(result){
69             if(result){
70                 for(var i=result.length-1;i>=0;i--)
71                     {
72                     times.push(result[i].data);
73                     nums.push(result[i].number);
74                     }
75                 myChart.setOption({
76                     xAxis:{
77                         //给x轴赋值
78                         data:times
79                     },
80                     series:[{
81                         //y轴
82                         data:nums
83                     }]
84                         });
85                 }
86         },
87         //错误响应执行的函数,对应的类型是function类型
88         error:function(msg){
89             alert("数据请求失败");
90         },
91         //服务器端返回的数据类型,常用text和json 请求的Servlet 必须返回json 类型的数据才可以
92         dataType:"json"
93     });
94   </script>
95 </body>
96 
97 </html>
 1 package com.Servlet;
 2 
 3 import java.io.IOException;
 4 import java.util.List;
 5 
 6 import javax.servlet.ServletException;
 7 import javax.servlet.annotation.WebServlet;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 
12 import com.Bean.line;
13 import com.Dao.Dao;
14 import com.google.gson.Gson;
15 
16 /**
17  * Servlet implementation class lineServlet
18  */
19 @WebServlet("/lineServlet")
20 public class lineServlet extends HttpServlet {
21     private static final long serialVersionUID = 1L;
22        
23     /**
24      * @see HttpServlet#HttpServlet()
25      */
26     public lineServlet() {
27         super();
28         // TODO Auto-generated constructor stub
29     }
30 
31     /**
32      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
33      */
34     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
35         // TODO Auto-generated method stub
36         response.setContentType("text/html;charset=UTF-8");
37         request.setCharacterEncoding("UTF-8");
38         String data=null;
39         String date = request.getParameter("name"); 
40         String age =request.getParameter("age");
41         System.out.println(age+date);
42         // Gson 谷歌推出的用于生成和解析JSON 数据格式的工具 使用时需要 导入jar 包 我的是 gson-2.6.2.jar
43         Gson gson=new Gson();
44         try {
45             List<line> list=Dao.getline(); //返回的是类型为line 的list
46             data=gson.toJson(list);
47         } catch (Exception e) {
48             // TODO Auto-generated catch block
49             e.printStackTrace();
50         }
51         //System.out.println(data);
52         response.getWriter().write(data);
53     }
54 
55     /**
56      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
57      */
58     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
59         // TODO Auto-generated method stub
60         doGet(request, response);
61     }
62 
63 }

在ajax 当中调用的 result[i].data 和 result[i].number 与bean 类当中的line.java 有关 。

json 类似 key-value  的key  就是line.java 定义的类型

以上是关于echarts 折线图 ajax 请求数据的主要内容,如果未能解决你的问题,请参考以下文章

28-Vue之ECharts-折线图

解决echarts的叠堆折线图数据出现坐标和值对不上的问题

Echart--手柄触发事件(折线图)

Echart--折线图手柄触发事件

echarts图表——折线图&饼图

echarts中折线比例为0怎么连接