最近在做手机页面用jQuery mobile开发,在用到form表单提交到时遇到了问题。
后台是用servlet进行处理的,想通过Servlet里面的重定向进行页面跳转发现在手机上根本没有用,出现errorpage提示信息。
查询网上资料以及jQuery mobile API得知 jQuery mobile表单提交默认是ajax提交,所以页面跳转写在servlet里面根本就不会实现页面跳转功能。
于是我按照教程在form里面加了 data-ajax=“false”这一属性,发现别说是页面跳转不行,就连后台的数据库操作都做不了,报了500错误。
想了好久既然用ajax提交,那么就用ajax进行页面跳转
<script type="text/javascript">
$(document).ready(function () {
$("#submitbtn").click(function(){
cache: false,
$.ajax({
type: "POST",
url: "feedback",
data: $('#feedbackform').serialize(),
success:function(data){
$.mobile.changePage("success.html");
}
});
});
});
</script> <form method="post" id="feedbackform">
<span style="white-space:pre"> </span>//相关表单元素
<input type="button" id="submitbtn" value="提交">
</form>注意的是js里面的data
$('#feedbackform').serialize()是必须要有的,不然servlet里面用requset.getParameter接受的数据是null,ajax和后台成功交互后用changePage跳转到成功后显示的页面。
使用jQuery mobile开发手机页面时,遇到表单提交到Servlet无法实现页面跳转的问题。jQuery mobile默认使用ajax提交表单,导致servlet中的重定向无效。尝试在form中设置data-ajax="false",却发现不仅页面跳转失败,还引发了500错误,无法执行后台数据库操作。解决方案是利用ajax进行手动页面跳转。
967

被折叠的 条评论
为什么被折叠?



