Jquery ajaxSubmit()使用案例以及遇到的问题解决方案
2016-11-06 20:06
507 查看
首先说明我是在JSP中使用ajaxSubmit()的,我的目的是在jsp页面提交表单到servlet,保证当前页面不刷新且不跳转。
遇到了好多问题,第一个问题就是百度了很多ajaxSubmit()用法,也是各种奇葩,种种坑爹的用法我就不一一列举了,避免看到我博客的人跟我一样遇到很多烦心的为题,直接贴上我的用法:
1.在html页面中引入以下两个.js文件,注意路径
备注:JQuery的版本要在1.5及1.5以上,原因可以看如下加大红色字体,官方解释如下:
2.html中表单元元素如下:
3.<script>中写法
4.为了测试的确将表单提交到Servlet中,我在Servlet中写了如下代码测试:
5.此时你在浏览器中测试,会发现没有反应,后台控制台啥都没打印出来,说明数据没有提交过去,在这个问题上我花了3个小时,可能是我太菜鸡了,于是我找各种原因,花了三个小时解决了这个问题,只能说皇天不负有心人有心人,我无意中在浏览器按下F12看下控制塔中发现了如下的问题:
我想了下,我的js文件都导入了,怎么会找不到方法呢,后来我就去百度“$(...).ajaxSubmit is not a function”,说实话真的找到了,如下:
在这不是打广告,虽然百度因为竞价排名名声扫地,不过我还是很感谢百度的,我大学中“最好的老师”,给它一点支持,不好的都会过去的,O(∩_∩)O哈哈~,OK继续写我的博客,给出两条我找到结果的文章链接如下:
遇到了好多问题,第一个问题就是百度了很多ajaxSubmit()用法,也是各种奇葩,种种坑爹的用法我就不一一列举了,避免看到我博客的人跟我一样遇到很多烦心的为题,直接贴上我的用法:
1.在html页面中引入以下两个.js文件,注意路径
<span style="font-family: Arial, Helvetica, sans-serif;"><script type="text/javascript" src="assets/js/jquery-2.0.3.min.js"></script></span>
<script type="text/javascript" src="assets/js/jquery-form.js"></script>
备注:JQuery的版本要在1.5及1.5以上,原因可以看如下加大红色字体,官方解释如下:
<span style="font-size: 14px;">/*! * </span><strong><span style="font-size:24px;color:#cc0000;">jQuery Form Plugin</span></strong><span style="font-size: 14px;"> * version: 3.18 (28-SEP-2012) * @</span><span style="font-size:24px;color:#cc0000;"><strong>requires jQuery v1.5 or later</strong></span><span style="font-size: 14px;"> * * Examples and documentation at: http://malsup.com/jquery/form/ * Project repository: https://github.com/malsup/form * Dual licensed under the MIT and GPL licenses: * http://malsup.github.com/mit-license.txt * http://malsup.github.com/gpl-license-v2.txt */ /*global ActiveXObject alert */</span>
2.html中表单元元素如下:
<form id="surveyForm"> ............ <button id="btnSubmit"> Save </button> ......... </form>
3.<script>中写法
<script type="text/javascript"> $(document).ready(function(){ $("#btnSubmit").click(function(){ var options = { type: 'post',//提交方式 url: 'SurveyServlet', data : '{"user":"123","psw":"435"}', success: function() {alert('Thanks for your comment!');} }; $("#surveyForm").ajaxSubmit(options); // jquery 表单提交 return false; // 必须返回false,否则表单会自己再做一次提交操作,并且页面跳转 }); }); </script>
4.为了测试的确将表单提交到Servlet中,我在Servlet中写了如下代码测试:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("跳转过来了!!!!!"); }只要提交到SurveyServlet中,就会在控制台打印“跳转过来了!!!!!”
5.此时你在浏览器中测试,会发现没有反应,后台控制台啥都没打印出来,说明数据没有提交过去,在这个问题上我花了3个小时,可能是我太菜鸡了,于是我找各种原因,花了三个小时解决了这个问题,只能说皇天不负有心人有心人,我无意中在浏览器按下F12看下控制塔中发现了如下的问题:
我想了下,我的js文件都导入了,怎么会找不到方法呢,后来我就去百度“$(...).ajaxSubmit is not a function”,说实话真的找到了,如下:
在这不是打广告,虽然百度因为竞价排名名声扫地,不过我还是很感谢百度的,我大学中“最好的老师”,给它一点支持,不好的都会过去的,O(∩_∩)O哈哈~,OK继续写我的博客,给出两条我找到结果的文章链接如下:
http://blog.csdn.net/lnluo_21/article/details/8270544 http://blog.sina.com.cn/s/blog_9255973f0101flkz.html[/code]总体什么意思呢,就是我在主页面中嵌入了一段页面代码如下:
就是我在home.jsp页面中插入了survey.jsp页面,在survey.jsp页面中使用了Jquery form.js,Jquery.js框架,而home.jsp中可能也使用了这两种框架,然而在浏览器中,这两个页面是被当做一个页面显示的,所以起了冲突(别人的解释,哈哈我也就这么理解了);
解决方法如下:
在home.jsp页面中插入:<span style="font-family: Arial, Helvetica, sans-serif;"><script type="text/javascript" src="<%=request.getContextPath()%>/assets/js/jquery-form.js"></script></span>问题迎刃而解,测试结果图如下,(*^__^*) 嘻嘻……
前后花了我一天的时间,不过搞定了还是很激动\(≧▽≦)/ 的,IT小松鼠继续加油↖(^ω^)↗!!!!!!
鼓励下自己,分享使我快乐,如果后来者看到我的博客有对“上面我提到的框架冲突”有更好的解释欢迎与我交流。
相关文章推荐
- 当使用servlet输出json时,浏览器端jquery的ajax遇到parse error的问题
- URL Scheme 使用过程中遇到的问题以及解决方案
- jQuery 文件上传插件ajaxFileUpload使用以及onchange问题
- 使用Xcode8遇到的问题以及解决方案
- 使用Bootstrap Tabs选项卡Ajax加载数据的实现以及遇到的问题;
- jquery.form.js ajaxSubmit()使用案例
- Jquery的ajax在h-ui使用时遇到的问题
- 2017-10-11-jquery-使用ajax传递参数遇到的一个问题
- Web Service (014---webservice使用Jquery、Ajax请求WebService所遇到的跨域问题)
- jQuery ajax serialize()方法的使用以及常见问题解决
- 学习struts2建bbs总结五:使用jquery+ajax验证用户名是否存在以及struts效验信息不断重复的问题
- $("#id").ajaxSubmit()使用自己遇到的问题
- 使用COCOS2D-X发布APK时遇到的问题以及解决方案
- UIKit和Cocos2d-x的整合使用;设置CCEAGLView背景为透明,来显示背后的UIView; 以及整合中遇到的问题的解决方案
- 使用 jQuery.ajax 上传带文件的表单遇到的问题
- 表单包含file上传文件提交,使用ajaxSubmint或者ajaxForm 遇到的问题以及解决方法
- 使用Spring MVC 实现文件上传遇到的问题以及解决方案
- jquery.validate不使用submit提交,而是使用button按钮提交,以及使用ajax验证用户名
- Webstrom 使用过程中遇到的问题以及解决方案
- Qt5.7以及5.8在cmake工程中使用C++14编译遇到的问题及解决方案