我正在尝试获取我从表单中传递值的servlet,以响应一些我想要输出到警报中的文本。我遇到的问题是,弹出警报框后页面重新加载并重定向到页面+我传递给servlet的参数。
www.mysite.com/login.jsp - 重定向到
www.mysite.com/dashhome.jsp - 在这个页面上,我有一个将表单数据发布到servlet的函数。
servlet只需返回由处理的字符串而不是重定向/导致页面重新加载。
按下保存(发布)后,我使用文本字符串获取警报,然后使用参数重新加载当前页面。
www.mysite.com/dashhome.jsp?pass-1=ertertert&passConf-1=ertertert&uid-1=1
的Servlet: - 我可以看到System.err.println的值,一切都进入servlet而没有问题。传递整个表单而不是params会更酷,但我不知道该怎么做。 Servlet还将文本返回给javascript函数。
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
dbVO dbvo = new dbVO();
dbvo = dbBean.getSQLDBInfo();
response.setContentType("text/html");
String text = "";
HttpSession session = request.getSession();
if((Integer.parseInt(session.getAttribute("accessType").toString())==1) && (System.currentTimeMillis()<(session.getLastAccessedTime() + session.getMaxInactiveInterval() * 1000)) ){
String pass=request.getParameter("pass");
String confirmPass=request.getParameter("passConf");
String uid=request.getParameter("uid");
String adminID= session.getAttribute("ID").toString();
System.err.println(pass);
System.err.println(confirmPass);
System.err.println(uid);
System.err.println(adminID);
text = "success";
}else{
text = "Session Expired";
}
response.getWriter().write(text);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
doGet(request, response);
}
使用Javascript:
function sendUpdate(id) {
$(document).ready(function(){
$.post("testurl",
{
pass: $('#pass-'+id).val(),
passConf: $('#passConf-'+id).val(),
uid: $('#uid-'+id).val()
},
function(data,status){
switch(status) {
case 'Session Expired':
sessionExpired();
break;
default:
alert(status);
}
});
});
}
感谢您的帮助!
答案 0 :(得分:2)
Sooo,这个工作正常我把我的按钮设为提交类型而不是按钮,这导致帖子......