首页
关于
留言
Search
1
红米 AX3000 (AX6) 路由器解锁 SSH 教程
6,091 阅读
2
网盘挂载程序sharelist美化教程
4,101 阅读
3
小米路由器 AX3600 开启SSH教程,官方固件即可安装 ShellClash开启科学上网
1,817 阅读
4
小米路由器Openwrt固件修改代码超频至1100MHZ
1,060 阅读
5
编译带PassWall和SSR-plus插件的Openwrt系统
1,050 阅读
前端
Vue
React
后端
Java
Python
PHP
数据库
运维
杂谈
小程序
影视资源
登录
Search
标签搜索
Java
Linux
Mysql
IDEA
Debian
Docker
Springboot
CentOS
Cloudflare
Maven
JavaScript
SQL
Wordpress
宝塔
Nginx
Windows
MacBook
JS
CSS
Openwrt
William
累计撰写
144
篇文章
累计收到
702
条评论
首页
栏目
前端
Vue
React
后端
Java
Python
PHP
数据库
运维
杂谈
小程序
影视资源
页面
关于
留言
搜索到
1
篇与
的结果
2020-06-16
Springboot使用LayUI将Ajax发送请求获取的返回数据用ECharts图表显示
后端使用Springboot,前端框架使用LayUI,前端页面一个日期控件,一个下拉框控件,实现选择日期,以及选择下拉框,点击提交,layui发送ajax请求到后端,请求数据返回后,在控件下方用echarts图表显示出来。HTML代码:<form class="layui-form" action="/"> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">选择日期</label> <div class="layui-input-inline"> <input type="text" name="date" id="date" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input date_selected"> </div> </div> <div class="layui-inline"> <label class="layui-form-label">选择企业</label> <div class="layui-input-inline"> <select name="company_name" lay-filter="company_name" class="com_selected"> <option value=""></option> <option value="0">选项一</option> <option value="1">选项二</option> <option value="2">选项三</option> <option value="3">选项四</option> </select> </div> </div> <div class="layui-inline view_history" style="margin-left: 70px;"> <div class="layui-input-inline"> <button type="submit" class="layui-btn" lay-submit="" lay-filter="demo1">立即查看</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> </div> </div> </div> </form>Javascript代码:<script> layui.use(['form', 'layedit', 'laydate', 'element', 'echarts', 'jquery'], function () { var form = layui.form , $ = layui.jquery , layer = layui.layer , layedit = layui.layedit , laydate = layui.laydate , element = layui.element , echarts = layui.echarts; //日期 laydate.render({ elem: '#date' }); //监听提交 var ndData = null; form.on('submit(demo1)', function (data) { var date_user = $(".date_selected").val(); var name_user = $(".com_selected").find("option:selected").text(); $.ajax({ url: "/history/getlist", type: "GET", data: { date: date_user, name: name_user }, dataType: "JSON", async: false, success: function (res) { /** * Echarts显示 */ var echartsRecords = echarts.init(document.getElementById('EchartZhu'), 'walden'); var optionRecords = { tooltip: { trigger: 'axis' }, legend: { data: ['油烟浓度', '颗粒物', '非甲烷总烃'] }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, toolbox: { feature: { saveAsImage: {} } }, xAxis: { type: 'category', boundaryGap: false, data: ['周一','周二','周三','周四','周五','周六','周日'] }, yAxis: { type: 'value', }, dataZoom: [ { type: 'inside', show: true, top: '90%', realtime: true, start: 85, end: 100 } ], series: [{ name: '油烟浓度', type: 'line', data: res } ] }; echartsRecords.setOption(optionRecords); // echarts 窗口缩放自适应 window.onresize = function () { echartsRecords.resize(); } } }); return false; }); }); </script> 这里有一个要注意的地方就是form.on监听提交的方法里面一定要有 return false来禁用表单跳转,不然的话,点击提交以后,iframe就会跳转,我这里是变成了首页,也就是iframe里面变成了另一个刚打开的系统首页对于Echarts的引入,个人不建议使用LayUI集成的,因为我用了集成的ECharts总有各种小毛病出现,什么 EchartsTheme.js找不到等等,我当时已经将EchartsTheme.js复制到每一个可能的文件夹下都还是这样抱错。最后我是直接在要显示ECharts的页面引入,而不是在一开始的整个LayUI框架首页引入。请求API返回的是登录页刚开始,我写好接口以后,尝试着自己创造链接,没有从前端页面获取用户选择的情况下测试下接口行不行。我发现浏览器上登录系统后,再从输入链接的话是能够返回数据的。但是,我要是清楚数据,或者说没有登录的情况下去访问,系统回跳转到登录页(PS:用Postman测试的时候也是返回的登录页的HTML代码)。在我这里是因为,在Security的配置中设置了除了登录页以及静态资源外都要登录后访问,于是我修改了security的配置文件,加了一行代码 web.ignoring().mvcMatchers("/history/**");@Override public void configure(WebSecurity web) throws Exception { web.ignoring().mvcMatchers("/lib/**", "/css/**", "/js/**"); web.ignoring().mvcMatchers("/history/**"); }放行该API路径后,使用postman已经layui中用ajax发送http请求都可以获取数据,而不用先登录。(可能不安全,大家看着办)
2020年06月16日
101 阅读
0 评论
0 点赞