由于之前用jquery的submit事件提交表单时,ckeditor中的内容提交不了
$("#sendmail").submit();
所以我换了ajax提交,a但是现在ajax提交有一个问题.我需要的是表单提交到action中,
action中进过struts,跳转到对应的成功界面,但是由于ajax,我action中 的功能实现了,就
是不能进行跳转,界面一直显示发送中,想请问一下各位这是怎么回事.
我期望发生的是ajax只把data传给action后success中不用处理任何东西,由atruts跳转到新jsp
jsp代码
$.ajax({
type: "POST",
url: "<%=basePath%>user/sendMail!checkName.action",
data: parm,
dataType:"text",
success: function (data, textStatus) {
hiddenProgress();//隐藏进度条
if(data=='true'){
showProgress("正在发送邮件...");//显示保存进度
//$("#sendmail").submit();
$.ajax({
type: "POST",
url: "<%=basePath%>user/sendMail!sendEmail.action",
data: parm,
dataType:"text",
success:function(data){
// alert("发送成功");
// window.location.href="<%=basePath%>user/user_sendMail_success.jsp";
},
});
}
........................
}
action中的部分代码
mailInfoFB.setSended(true);
mailInfoFB.setFrom("邮件发送成功!");
return "sendMailSuccess";
ajax的本质就是异步,既然要想用异步的方式做这功能,就应该考虑用异步的思维去设计你的功能。
比如:发送成功的话,后台action应该返回json对象是比较合适的,页面收到异步结果后,再进行相应的处理(比如返回{isSuccess:true},表示发送成功,那么页面收到{isSuccess:true}后,再处理一下,notify一下)。
要么就用提交表单的方式做,发送成功服务器可以直接返回相应的result页面,不成功就hold住表单,返回提交前的页面给用户。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。