jquery+ajaxform+springboot控件实现数据更新功能


Posted in jQuery onJanuary 22, 2018

应用背景

使用springboot架构在如下图所示的界面布局中,实现数据的保存或者更新,务必需要提交到后台,如何进行成功或失败的提示呢?如果使用传统的springmvc的模式,势必要传一个页面给前端,这个页面仅仅是提示操作是否成功了!提示之后还得更新一下数据,就好比我们浏览某些网站的时候给出的一些提示 操作成功,5秒后返回

比较傻,客户体验也比较差劲。

jquery+ajaxform+springboot控件实现数据更新功能 

改造历程

使用ajax能否解决上述的问题呢?

答案是肯定的,点击保存之后,一个ajax请求到后台,使用ResponseBody标签,限制返回的仅仅是数据。然后根据返回的数据给出相应的提示信息就可以了。

传统的ajax请求数据,需要将form里面的数据重组,全部放到我们的请求体里面。如下代码所示:

$.ajax({
 type: 'POST',
 url: url,
 data: data,
 success: success,
 dataType: dataType
});

如果,我提交的form数据比较多的话,那么data就相对比较庞大了。代码比较臃肿。同时,form表单也丧失了其存在的意义了。

有没有一种比较优雅的方式实现form表单的ajax提交呢?当然。

jquery的ajaxform插件是一个比较不错的选择。

实现过程

第一步。当然是引入我们强大的插件了。

<script src="static/assets/js/jquery.form.min.js"></script>

该js下载,我提供一下github的地址吧: https://github.com/jquery-form/form 。

第二步。在我们想要发送请求的地方进行ajax+form请求的发送。

function insert() {
    var options = {
     // target:  '#output1', // 用服务器返回的数据 更新 id为output1的内容.
     // beforeSubmit: showRequest, // 提交前
     success:  showResponse, // 提交后
     //另外的一些属性:
     //url:  url   // 默认是form的action,如果写的话,会覆盖from的action.
     //type:  type  // 默认是form的method,如果写的话,会覆盖from的method.('get' or 'post').
     //dataType: null  // 'xml', 'script', or 'json' (接受服务端返回的类型.)
     //clearForm: true  // 成功提交后,清除所有的表单元素的值.
     resetForm: false  // 成功提交后,重置所有的表单元素的值.
     //由于某种原因,提交陷入无限等待之中,timeout参数就是用来限制请求的时间,
     //当请求大于3秒后,跳出请求.
     //timeout: 3000
    };
    //'ajaxForm' 方式的表单 .
    $('#baseForm').ajaxSubmit(options);
   }

处理一下提交后返回的方法

// 提交后
   function showResponse(responseText, statusText) {
    alert('状态: ' + statusText + '\n 返回的内容是: \n' + responseText);
    
   }

后台实现代码

@RequestMapping("/basicSave")
 @ResponseBody
 public String BasicSave(PointInfo pi){
  if(!pi.getSaddress().equals("")){
   pi.setType("1");
  }else{
   pi.setType("0");
  }
  int newId = pointInfoService.saveorupdate(pi);
  return newId+"";
 }

逻辑自行定义

注意

  • 提交的时候一定要使用ajaxSubmit方法
  • 提交的action,请求方式(post还是get)、dataType(json、xml)等默认都采用的form里面的数据,如果在参数里面进行了修改,那么就会覆盖掉。

后续研究

关于提示框

使用alert?我费尽心思用上了bootstrap,你这里搞一个alert出来,简直就是往一盘美味里面吐唾沫。有没有美观一点的提示框?当然,答案是肯定的!

使用notifications插件来完成提示框的美化

先上个效果图:

jquery+ajaxform+springboot控件实现数据更新功能 

实现步骤

1.导入notifications所需js和css

<script src="static/assets/plugins/notifyjs/dist/notify.min.js"></script>
 <script src="static/assets/plugins/notifications/notify-metro.js"></script>
 <script src="static/assets/plugins/notifications/notifications.js"></script>
 <link href="static/assets/plugins/notifications/notification.css" rel="external nofollow" rel="stylesheet">

2.调用接口即可

$.Notification.notify('success','top center', '温馨提示', '保存成功!');

总结

以上所述是小编给大家介绍的jquery+ajaxform+springboot控件实现数据更新功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
jquery+css实现侧边导航栏效果
Jun 12 jQuery
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
jquery在vue脚手架中的使用方式示例
Aug 29 jQuery
jQueryUI Sortable 应用Demo(分享)
Sep 07 jQuery
jQuery实现的简单无刷新评论功能示例
Nov 08 jQuery
jQuery实现使用sort方法对json数据排序的方法
Apr 17 jQuery
jQuery UI实现动画效果代码分享
Aug 19 jQuery
jQuery事件委托代码实践详解
Jun 21 jQuery
基于jquery ajax的多文件上传进度条过程解析
Sep 11 jQuery
jquery向后台提交数组的代码分析
Feb 20 jQuery
jquery轮播图插件使用方法详解
Jul 31 jQuery
bootstrap+jquery项目引入文件报错的解决方法
Jan 22 #jQuery
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
Jan 21 #jQuery
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
Jan 18 #jQuery
基于jquery的on和click的区别详解
Jan 15 #jQuery
vue-cli webpack 引入jquery的方法
Jan 10 #jQuery
jQuery第一次运行页面默认触发点击事件的实例
Jan 10 #jQuery
Vue+jquery实现表格指定列的文字收缩的示例代码
Jan 09 #jQuery
You might like
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
php实现查看邮件是否已被阅读的方法
2013/12/03 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
php快递单号查询接口使用示例
2014/05/05 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
JS触摸事件、手势事件详解
2017/05/04 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
2017/09/12 Javascript
JS中min函数实例讲解
2019/02/18 Javascript
python中as用法实例分析
2015/04/30 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
Python机器学习之SVM支持向量机
2017/12/27 Python
python在每个字符后添加空格的实例
2018/05/07 Python
python实现字符串和字典的转换
2018/09/29 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
python sqlite的Row对象操作示例
2019/09/11 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
工作交流会欢迎词
2014/01/12 职场文书
车队司机自我鉴定
2014/03/02 职场文书
社区志愿者培训方案
2014/06/10 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
新员工辞职信范文
2015/05/12 职场文书
行政答辩状范文
2015/05/21 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL
python神经网络Xception模型
2022/05/06 Python