jquery ajax 的post请求成功但servlet的request.getParameter无法获取到

灬银风灬弑彡 2016-09-01 05:03:14
servlet的dopost:
String id = request.getParameter("id");
String password = request.getParameter("password");

某界面的js:
$(function(){
$("#login").click(function(){
var id = $("#user_id").val();
var password = $("#password").val();
alert(id);//值可以获取到
$.ajax({
type: "post",
url: "getuser",
data: id,
success: function(){
alert("请求成功");
},
error: function(){
alert("请求出错");
}
});
});
});
...全文
1339 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
灬银风灬弑彡 2016-09-02
  • 打赏
  • 举报
回复
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("post"); String id = request.getParameter("id"); String password = request.getParameter("password"); a = logindao.main(id, password); System.out.println("a2:"+a); if(a==null){ System.out.println("null"); request.getRequestDispatcher("/error.jsp").forward(request,response); }else{ System.out.println("notnull"); HttpSession session = request.getSession(true); session.setAttribute("suc",a); request.getRequestDispatcher("/top.jsp").forward(request,response); } } 如上,值可以取到,但无法跳转页面
灬银风灬弑彡 2016-09-02
  • 打赏
  • 举报
回复
引用 11 楼 QQ233040940 的回复:
你后台能拿到传递的id不?
post可以拿到值。只是不能用getRequestDispatcher跳转页面
技术控_ 2016-09-02
  • 打赏
  • 举报
回复
你后台能拿到传递的id不?
灬银风灬弑彡 2016-09-02
  • 打赏
  • 举报
回复
发现传值是没有问题的,只是在post中取到值后不能用getRequestDispatcher跳转页面。放在get中,用post调动的话,又取不到值。
引用 7 楼 wlwlwlwl015 的回复:
$.ajax({ type: "post", url: "getuser?id="+id, data: id, success: function(){ alert("请求成功"); }, error: function(){ alert("请求出错"); } }); 实在不行get传参 这样肯定能获取到 前提是你的url真的正确吗
ITzyjck 2016-09-02
  • 打赏
  • 举报
回复
看了半天 唉 你这样试试 {“id”:id,“password”:password} 加个分号
ITzyjck 2016-09-02
  • 打赏
  • 举报
回复
id和password有没有不是靠说的 打个桩不就行了 在你的Controller里面打个桩 System.out.println(id+","+password);
小灯光环 2016-09-02
  • 打赏
  • 举报
回复
$.ajax({ type: "post", url: "getuser?id="+id, data: id, success: function(){ alert("请求成功"); }, error: function(){ alert("请求出错"); } }); 实在不行get传参 这样肯定能获取到 前提是你的url真的正确吗
Afaker 2016-09-02
  • 打赏
  • 举报
回复
引用 5 楼 qq_35865126 的回复:
[quote=引用 4 楼 showbo 的回复:]
[quote=引用 3 楼 qq_35865126 的回复:]
我id的值是有的,我不知道这样是否可以啊,但是就算改成了data: {id:id,password:password}, 这样依旧取不到值。我已经试过了

[quote=引用 1 楼 showbo 的回复:]
就传了个id,键名称都没有。。。
data: id,

==》

data: {id:id,password:password},
[/quote]那就是你服务器有问题了,传递键值对一定要配置成data:{xxxx}格式[/quote]

我用的是本地的tomcat7为什么会有问题,以前用它运行代码并没有太大问题。出错大概是在什么地方?[/quote]

data: {id:id,password:password}, 肯定是要这样传的....至于后台没接收到,是不是你的id定义成string造成的.....你可以在后台debug调试一下看看
灬银风灬弑彡 2016-09-02
  • 打赏
  • 举报
回复
引用 4 楼 showbo 的回复:
[quote=引用 3 楼 qq_35865126 的回复:] 我id的值是有的,我不知道这样是否可以啊,但是就算改成了data: {id:id,password:password}, 这样依旧取不到值。我已经试过了 [quote=引用 1 楼 showbo 的回复:] 就传了个id,键名称都没有。。。 data: id, ==》 data: {id:id,password:password},
[/quote]那就是你服务器有问题了,传递键值对一定要配置成data:{xxxx}格式[/quote] 我用的是本地的tomcat7为什么会有问题,以前用它运行代码并没有太大问题。出错大概是在什么地方?
Go 旅城通票 2016-09-02
  • 打赏
  • 举报
回复
引用 3 楼 qq_35865126 的回复:
我id的值是有的,我不知道这样是否可以啊,但是就算改成了data: {id:id,password:password}, 这样依旧取不到值。我已经试过了 [quote=引用 1 楼 showbo 的回复:] 就传了个id,键名称都没有。。。 data: id, ==》 data: {id:id,password:password},
[/quote]那就是你服务器有问题了,传递键值对一定要配置成data:{xxxx}格式
灬银风灬弑彡 2016-09-02
  • 打赏
  • 举报
回复
我id的值是有的,我不知道这样是否可以啊,但是就算改成了data: {id:id,password:password}, 这样依旧取不到值。我已经试过了
引用 1 楼 showbo 的回复:
就传了个id,键名称都没有。。。 data: id, ==》 data: {id:id,password:password},
灬银风灬弑彡 2016-09-02
  • 打赏
  • 举报
回复
我id的值是有的,我不知道这样是否可以啊,但是就算改成了data: {id:id,password:password}, 这样依旧取不到值。我已经试过了
giya射手 2016-09-02
  • 打赏
  • 举报
回复
引用 18 楼 qq_35865126 的回复:
[quote=引用 15 楼 qq_27333559 的回复:] 你ajax提交为什么要跳转?你跳转的意义什么?你弄清楚ajax异步提交是干什么的吗?
因为我想要实现账户登录后,页面显示登录账号的功能。 在servlet中用getRequestDispatcher给这个顶部界面的样式赋值登录名 真正用户看到的并不是这个界面。而是一个登录界面和他按钮跳转的首页 我在登录界面的按钮上写了上述servlet的url 其实我想实现的就是在这里判断账户密码,给顶部的jsp赋值,然后根据密码正确与否跳转两个不同页面。 不知道这样说你能明白不,还在上大学,这个真的不是很懂。可以的话告诉我应该怎么做。[/quote] ajax异步提交后,你只需要把登录名存到session中,然后return一个参数,再到你的jsp(ajax提交的jsp)中把返回值获取到,然后根据你的需要做跳转(跳转是在有ajax提交的jsp中),不是在ajax提交的servlet中,明白。然后到你跳转的页面就可以取到session中的值了。懂了吗?ajax提交到的servlet是不能做跳转的
灬银风灬弑彡 2016-09-02
  • 打赏
  • 举报
回复
引用 23 楼 Afaker 的回复:
[quote=引用 21 楼 qq_35865126 的回复:] [quote=引用 20 楼 Afaker 的回复:] [quote=引用 19 楼 qq_35865126 的回复:] [quote=引用 17 楼 Afaker 的回复:] [quote=引用 16 楼 qq_35865126 的回复:] [quote=引用 14 楼 Afaker 的回复:] [quote=引用 13 楼 qq_35865126 的回复:] public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("post"); String id = request.getParameter("id"); String password = request.getParameter("password"); a = logindao.main(id, password); System.out.println("a2:"+a); if(a==null){ System.out.println("null"); request.getRequestDispatcher("/error.jsp").forward(request,response); }else{ System.out.println("notnull"); HttpSession session = request.getSession(true); session.setAttribute("suc",a); request.getRequestDispatcher("/top.jsp").forward(request,response); } } 如上,值可以取到,但无法跳转页面
无法跳转页面?报错了吗?[/quote] 没有报错- -![/quote] 那就debug看看这两行[/quote] 为什么呀,这2行代码的system.out.println确认过他们的执行没有问题[/quote] 那么可以运行。又没报错。 运行完之后。。现在地址栏的路径是什么?[/quote] getuser,就是servlet在XML中配置的那个地址[/quote] ...........要不把你这个发给我 我帮你看看.....[/quote] 我已经搞定了,可是原因还是不知道。我在另一个servlet中跳转页面,接受这个servlet的session里的东西做判断。感觉一开始出发点就错了。可是还是不知道为什么不能跳转页面诶,虽然不用理他了0.0
Afaker 2016-09-02
  • 打赏
  • 举报
回复
引用 21 楼 qq_35865126 的回复:
[quote=引用 20 楼 Afaker 的回复:] [quote=引用 19 楼 qq_35865126 的回复:] [quote=引用 17 楼 Afaker 的回复:] [quote=引用 16 楼 qq_35865126 的回复:] [quote=引用 14 楼 Afaker 的回复:] [quote=引用 13 楼 qq_35865126 的回复:] public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("post"); String id = request.getParameter("id"); String password = request.getParameter("password"); a = logindao.main(id, password); System.out.println("a2:"+a); if(a==null){ System.out.println("null"); request.getRequestDispatcher("/error.jsp").forward(request,response); }else{ System.out.println("notnull"); HttpSession session = request.getSession(true); session.setAttribute("suc",a); request.getRequestDispatcher("/top.jsp").forward(request,response); } } 如上,值可以取到,但无法跳转页面
无法跳转页面?报错了吗?[/quote] 没有报错- -![/quote] 那就debug看看这两行[/quote] 为什么呀,这2行代码的system.out.println确认过他们的执行没有问题[/quote] 那么可以运行。又没报错。 运行完之后。。现在地址栏的路径是什么?[/quote] getuser,就是servlet在XML中配置的那个地址[/quote] ...........要不把你这个发给我 我帮你看看.....
qq_27284079 2016-09-02
  • 打赏
  • 举报
回复
少引号吧 data:[ “id”,id,]
灬银风灬弑彡 2016-09-02
  • 打赏
  • 举报
回复
引用 20 楼 Afaker 的回复:
[quote=引用 19 楼 qq_35865126 的回复:] [quote=引用 17 楼 Afaker 的回复:] [quote=引用 16 楼 qq_35865126 的回复:] [quote=引用 14 楼 Afaker 的回复:] [quote=引用 13 楼 qq_35865126 的回复:] public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("post"); String id = request.getParameter("id"); String password = request.getParameter("password"); a = logindao.main(id, password); System.out.println("a2:"+a); if(a==null){ System.out.println("null"); request.getRequestDispatcher("/error.jsp").forward(request,response); }else{ System.out.println("notnull"); HttpSession session = request.getSession(true); session.setAttribute("suc",a); request.getRequestDispatcher("/top.jsp").forward(request,response); } } 如上,值可以取到,但无法跳转页面
无法跳转页面?报错了吗?[/quote] 没有报错- -![/quote] 那就debug看看这两行[/quote] 为什么呀,这2行代码的system.out.println确认过他们的执行没有问题[/quote] 那么可以运行。又没报错。 运行完之后。。现在地址栏的路径是什么?[/quote] getuser,就是servlet在XML中配置的那个地址
Afaker 2016-09-02
  • 打赏
  • 举报
回复
引用 19 楼 qq_35865126 的回复:
[quote=引用 17 楼 Afaker 的回复:] [quote=引用 16 楼 qq_35865126 的回复:] [quote=引用 14 楼 Afaker 的回复:] [quote=引用 13 楼 qq_35865126 的回复:] public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("post"); String id = request.getParameter("id"); String password = request.getParameter("password"); a = logindao.main(id, password); System.out.println("a2:"+a); if(a==null){ System.out.println("null"); request.getRequestDispatcher("/error.jsp").forward(request,response); }else{ System.out.println("notnull"); HttpSession session = request.getSession(true); session.setAttribute("suc",a); request.getRequestDispatcher("/top.jsp").forward(request,response); } } 如上,值可以取到,但无法跳转页面
无法跳转页面?报错了吗?[/quote] 没有报错- -![/quote] 那就debug看看这两行[/quote] 为什么呀,这2行代码的system.out.println确认过他们的执行没有问题[/quote] 那么可以运行。又没报错。 运行完之后。。现在地址栏的路径是什么?
灬银风灬弑彡 2016-09-02
  • 打赏
  • 举报
回复
引用 17 楼 Afaker 的回复:
[quote=引用 16 楼 qq_35865126 的回复:] [quote=引用 14 楼 Afaker 的回复:] [quote=引用 13 楼 qq_35865126 的回复:] public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("post"); String id = request.getParameter("id"); String password = request.getParameter("password"); a = logindao.main(id, password); System.out.println("a2:"+a); if(a==null){ System.out.println("null"); request.getRequestDispatcher("/error.jsp").forward(request,response); }else{ System.out.println("notnull"); HttpSession session = request.getSession(true); session.setAttribute("suc",a); request.getRequestDispatcher("/top.jsp").forward(request,response); } } 如上,值可以取到,但无法跳转页面
无法跳转页面?报错了吗?[/quote] 没有报错- -![/quote] 那就debug看看这两行[/quote] 为什么呀,这2行代码的system.out.println确认过他们的执行没有问题
灬银风灬弑彡 2016-09-02
  • 打赏
  • 举报
回复
引用 15 楼 qq_27333559 的回复:
你ajax提交为什么要跳转?你跳转的意义什么?你弄清楚ajax异步提交是干什么的吗?
因为我想要实现账户登录后,页面显示登录账号的功能。 在servlet中用getRequestDispatcher给这个顶部界面的样式赋值登录名 真正用户看到的并不是这个界面。而是一个登录界面和他按钮跳转的首页 我在登录界面的按钮上写了上述servlet的url 其实我想实现的就是在这里判断账户密码,给顶部的jsp赋值,然后根据密码正确与否跳转两个不同页面。 不知道这样说你能明白不,还在上大学,这个真的不是很懂。可以的话告诉我应该怎么做。
加载更多回复(5)

81,094

社区成员

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

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