wordpress 仿站教程,学校ui设计培训,百度浏览器网址链接,自动的网站制作最近在开发一个jsp学生信息管理系统#xff0c;由于刚刚接触jsp#xff0c;遇到问题比较多#xff0c;特此记录与大家分享。Jquery ajax提交表单到servlet示例前台部分代码#xff1a;姓名学号 ajax提交表单代码#xff1a;//增加学生#xff0c;异步提交学生表单$(由于刚刚接触jsp遇到问题比较多特此记录与大家分享。Jquery ajax提交表单到servlet示例前台部分代码姓名学号 ajax提交表单代码//增加学生异步提交学生表单$(#addStudents).click(function() {$.ajax({url: addStudents.do,//要请求的服务器url//这是一个对象表示请求的参数两个参数methodajaxvalxxx服务器可以通过request.getParameter()来获取//data:{method:ajaxTest,val:value},data: {name: $(#name).val(),studentId: $(#studentId).val(),},async: true, //是否为异步请求cache: false, //是否缓存结果type: POST, //请求方式为POSTdataType: json, //服务器返回的数据是什么类型success: function(result){ //这个方法会在服务器执行成功是被调用 参数result就是服务器返回的值(现在是json类型)if(result){alert(true);}else{alert(false);}}});});web.xml配置代码This is the description of my J2EE componentThis is the display name of my J2EE componentaddStudentsorg.cms.students.addStudentsaddStudents/addStudents.doaddStudents.java代码(采用POST提交方式)public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {PrintWriter out response.getWriter();String namerequest.getParameter(name);System.out.println(name);System.out.println(123456789);out.print(false);}ajax提交表单通过上面的配置后我输入学生姓名然后提交表单但是在myeclipse的控制台里并没有打印出姓名和字符串“123456789”,然后我就开始了疯狂的检查检查了n遍还是不知道错误出现在哪里一次偶然的机会我发现了问题所在。我在ajax代码块后加了个alert()语句奇迹出现了浏览器弹出相应内容myeclipse的控制台里打印出姓名和字符串“123456789”这让我很是疑惑在查阅大量博客和官方文档后我才明白一切都是JQuery ajax的同步和异步提交的原因。先来了解下JQuery ajax方法异步的理解当代码执行到ajax部分时它与ajax之后的外部代码是一起执行的假如此时有外部代码要用到ajax中的返回值而ajax的async属性为true(即此时ajax为异步)那么后续的外部代码是不可能能拿到ajax的返回值的只有设置为同步即ajax的async属性为true执行完ajax部分时再接着执行后续代码时才会在关系上产生连续性则这样才能拿到其返回值。然后我就将async设置为false,问题真的解决了但是还是不知道为什么添加了alert语句即使是异步也可以打印出姓名和字符串继续查阅资料我自己的总结如下(欢迎各位大牛指点)1、async:true时当点击提交按钮时执行点击事件里的代码语句执行到ajax时由于是异步执行所以并不会阻塞后面语句的执行因为后面没有语句了所以可能由于ajax还没来得及执行完点击事件就结束了自然就没有打印出姓名和字符串。如果在ajax后添加alert语句点击事件就会被阻塞到这里这时ajax就有充足的时间执行所以控制台就能打印出姓名和字符串。我尝试去除外层的点击事件直接执行ajax这时不论同步或者异步都可以打印出姓名和字符串可以证明我的猜想。2、async:false时当点击提交按钮时也会执行点击事件里的代码语句执行到ajax时由于是同步执行所以必须等ajax成功返回后才继续执行后面的代码自然就能打印出姓名和字符串。本文原创发布php中文网转载请注明出处感谢您的尊重