一个关于Ajax执行的问题~~超级灵异~~~麻烦大神帮忙看看呀~~~

RitaNBBB 2018-04-18 09:57:34
我首先执行这段代码,弹出对话框是“success”
$.getJSON("../util/topics","opr=add&tname="+tnameValue,function(data){
alert(data.status);
if (data.status=="success") {
//添加成功,显示提示信息并用Ajax方式重新加载主题列表
$msg.html(data.message).fadeIn(1000).fadeOut(5000); //设置提示框淡入淡出时间
alert($msg);
然后跟踪执行了以下代码:
$optArea.load("../util/topics","opr=listHtml");

对应的servlet代码是:
else if("listHtml".equals(opr)) {//查询出所有主题信息
List<Topic> list=null;
System.out.println("进入listHtml!");
try {
list=ts.findAllTopics();
System.out.println("进入listHtml之try!");

} catch (SQLException e) {
e.printStackTrace();
list = new ArrayList<Topic>();
}
request.setAttribute("list", list);
request.getRequestDispatcher("/newspages/showTopics.jsp").forward(request, response);
//out.print("/newspages/showTopics.jsp");
}
out.flush();
out.close();
结果不但没有跳转成功跳转页面:出现的结果还是:
是空白页加这句话:{"status":"exist","message":"当前主题存在,请输入不同的主题!"}

这是怎么回事呀?!!!!
...全文
882 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
RitaNBBB 2018-04-18
  • 打赏
  • 举报
回复
谢谢上一楼的,但这样子的话,我在request里存的list对象就不能够访问了。这些数据作用本身不是太大,用过一次就得扔掉,所以不能存在session里。我自己单独做了一个小demo,request转发是可以跳转成功的。
QWERT4745 2018-04-18
  • 打赏
  • 举报
回复
你这个是ajax请求,跳转页面用request没用 response.getWriter().println("<script>window.location.href='这里填url'</script>");
RitaNBBB 2018-04-18
  • 打赏
  • 举报
回复
那个弹出框是我用来调试用的,删了也一样,我现在发现是因为jqxhr.status 值为零,状态返回是error的关系~~但找不晓得该如何处理。
阿闰 2018-04-18
  • 打赏
  • 举报
回复
你既想弹出消息,又想跳转,在服务端做不到的,要么跳转,要么弹出消息后,再访问服务器跳转,比如淘宝付款成功,提示成功了,然后为什么要停留几秒倒计时?然后再跳转,楼主自己去体会...................
RitaNBBB 2018-04-18
  • 打赏
  • 举报
回复
后来,我把out.flush(); out.close();这两句删掉,就提示:{"status":"success","message":"主题创建成功!"} 。但页面就是不能跳转过去。这是为什么呀????
梦醉天下 2018-04-18
  • 打赏
  • 举报
回复
问题出在你的servlet方法。一般请求分为同步和异步,说白了就是html直接跳转或ajax。如果你希望你的servlet支持ajax返回成功,就使用response write返回具体的内容。如果你希望页面跳转,那么就使用request dispatch。两者只能选其一。不能既返回内容,又跳转页面。
QWERT4745 2018-04-18
  • 打赏
  • 举报
回复
ajax异步请求,局部刷新,只接受最后的返回值。你既然要重新跳转还要转发对象,何必用ajax呢

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧