老师麻烦看一下这是怎么回事,明明导入js了呀
来源:2-4 实现动态图表
niuhuiyang
2020-02-24 19:03:29
重启eclipse,清缓存都不行


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/echarts.min.js"></script>
<script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
</head>
<body>
<div id="main" style="width: 600px; height: 400px;"></div>
<script type="text/javascript">
function showChart(){
$.ajax({
url:"/request",
type:"get",
dataType:"json",
success : function(json){
console.log(json.timeList);
console.log(json.valueList);
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title : {
text : '请求流量分析统计'
},
tooltip : {},
legend : {
data : [ '访问量' ]
},
xAxis : {
data : json.timeList
},
yAxis : {},
series : [ {
//这里的name要和上面legend里的data[]里相对应
name : '访问量',
type : 'line',
data : json.valueList
} ]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
})
}
window.setInterval("showChart()",1000);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/echarts.min.js"></script>
<script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
</head>
<body>
<div id="main" style="width: 600px; height: 400px;"></div>
<script type="text/javascript">
function showChart(){
$.ajax({
url:"/request",
type:"get",
dataType:"json",
success : function(json){
console.log(json.timeList);
console.log(json.valueList);
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title : {
text : '请求流量分析统计'
},
tooltip : {},
legend : {
data : [ '访问量' ]
},
xAxis : {
data : json.timeList
},
yAxis : {},
series : [ {
//这里的name要和上面legend里的data[]里相对应
name : '访问量',
type : 'line',
data : json.valueList
} ]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
})
}
window.setInterval("showChart()",1000);
</script>
</body>
</html>
4回答
好帮手慕柯南
2020-02-25
同学你好!
下面红框中的代码应该注释掉,应为在后面已经对数据进行了封装

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
niuhuiyang
提问者
2020-02-25
老师,我改了,错误的确没有了,但页面一片空白,什么都没显示


好帮手慕柯南
2020-02-25
同学你好!
你报404的时你的ajax请求,可以看到地址中少了项目名称

建议你在发送ajax请求时,将项目名添加上

比如:/项目名/request
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
niuhuiyang
提问者
2020-02-24
老师,这里是RequestTotalServlet的内容,漏粘贴了
package com.imooc.total;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
/**
*用于展现当前的请求,统计分析数据
*/
@WebServlet("/request")
public class RequestTotalServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public RequestTotalServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//得到应用程序全局ServletContext对象
ServletContext context = request.getServletContext();
List<String> timeList= (List)context.getAttribute("timeList");
List<Integer> valueList= (List)context.getAttribute("valueList");
response.setContentType("text/html;charset=utf-8");
response.getWriter().println(timeList.toString());
// System.out.println("<br/>");
response.getWriter().println(valueList.toString());
//对上面两个对象进行封装
Map result=new HashMap();
result.put("timeList", timeList);
result.put("valueList", valueList);
String json=JSON.toJSONString(result);
response.getWriter().println(json);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
相似问题