<script type="text/javascript">
function fnLogin(){
var username = $('#username').val();
var password = $('#password').val();
$.ajax({
url:"login",
type:'post',
data : {
"username" : username,
"password" : password
},
contentType : "application/x-www-form-urlencoded; charset=utf-8",
});
}
function fnPostSubmit(){
$('#theform').submit();
}
</script>
</head>
<body>
Hello, this is index page.
<a href="test">go test</a>
<a onclick="testAlert()">go test2</a>
<form action="login" method="post" id="theform">
<table>
<tr>
<td>username</td>
<td><input type="input" name="username" id="username"> </td>
</tr>
<tr>
<td>password</td>
<td><input type="password" name="password" id="password"> </td>
</tr>
</table>
<input type="button" value="login" onclick="fnPostSubmit()"/>
<input type="button" value="login2" onclick="fnLogin()"/>
</form>
以上是页面部分的代码
@RequestMapping(value= "/login", method = RequestMethod.POST)
public ModelAndView login(User user,Model model){
return new ModelAndView("mytest");
}
这是controller的代码,debug模式下都能进controller,但是只有采用$('#theform').submit();才能前台返回到指定的mytest页面,而另一种则停住不动,请问这是为什么,该怎么解决。。
13 个解决方案
#1
检查下
1:url 对不对?
2:contentType 去掉试下~
1:url 对不对?
2:contentType 去掉试下~
#2
$.ajax({ 用ajax 干嘛 的啊
#3
1.都能进controller,说明url没问题。
2.$.ajax是异步请求,不能返回整个页面的吧.....
表单提交才能返回页面的吧
2.$.ajax是异步请求,不能返回整个页面的吧.....
表单提交才能返回页面的吧
#4
@RequestMapping(value= "/login", method =
RequestMethod.POST) , 大哥, 你限定了只有post方式才能访问这个URL
#5
url:"login"?
#6
ajax写错了,最有一个属性没有逗号。
#7
ajax返回页面无效,ajax能进controller但返回的页面进不了,ajax有callback它还要继续处理它的逻辑的,所有return的页面是进不去的。
#8
application/x-www-form-urlencoded 为空 再试
#9
用$.ajax({})中url:"login",意思是向后台请求这个页面,所以肯定不会到mytest页面了,,,
#10
ajax返回结果需要给callback继续处理才能跳转
#11
ajax 访问controller return 应该是null吧, 通过request.getWriter().printLn();返回给你前台,用callback 来接受处理结果吧。
#12
你用ajax是想做校验吧,ajax将参数传到后台,不管什么结果都能返回信息响应到前台,ajax再加一个success方法,校验成功了再做处理
#13
@ResponseBody
@RequestMapping(value= "/login", method = RequestMethod.POST)
public ModelAndView login(User user,Model model){
return new ModelAndView("mytest");
}
@RequestMapping(value= "/login", method = RequestMethod.POST)
public ModelAndView login(User user,Model model){
return new ModelAndView("mytest");
}
#1
检查下
1:url 对不对?
2:contentType 去掉试下~
1:url 对不对?
2:contentType 去掉试下~
#2
$.ajax({ 用ajax 干嘛 的啊
#3
1.都能进controller,说明url没问题。
2.$.ajax是异步请求,不能返回整个页面的吧.....
表单提交才能返回页面的吧
2.$.ajax是异步请求,不能返回整个页面的吧.....
表单提交才能返回页面的吧
#4
@RequestMapping(value= "/login", method =
RequestMethod.POST) , 大哥, 你限定了只有post方式才能访问这个URL
#5
url:"login"?
#6
ajax写错了,最有一个属性没有逗号。
#7
ajax返回页面无效,ajax能进controller但返回的页面进不了,ajax有callback它还要继续处理它的逻辑的,所有return的页面是进不去的。
#8
application/x-www-form-urlencoded 为空 再试
#9
用$.ajax({})中url:"login",意思是向后台请求这个页面,所以肯定不会到mytest页面了,,,
#10
ajax返回结果需要给callback继续处理才能跳转
#11
ajax 访问controller return 应该是null吧, 通过request.getWriter().printLn();返回给你前台,用callback 来接受处理结果吧。
#12
你用ajax是想做校验吧,ajax将参数传到后台,不管什么结果都能返回信息响应到前台,ajax再加一个success方法,校验成功了再做处理
#13
@ResponseBody
@RequestMapping(value= "/login", method = RequestMethod.POST)
public ModelAndView login(User user,Model model){
return new ModelAndView("mytest");
}
@RequestMapping(value= "/login", method = RequestMethod.POST)
public ModelAndView login(User user,Model model){
return new ModelAndView("mytest");
}