首页新闻找找看学习计划

spring mvc后台传map,ajax回调函数不执行

0
悬赏园豆:20 [已解决问题] 解决于 2015-09-17 11:40
//controller
1
@ResponseBody 2 @RequestMapping("/login") 3 public String login(Model model,String username,String password){ 4 System.out.println(username+" "+password); 5 model.addAttribute("str", "hello"); 6 model.addAttribute("res", "yes"); 7 return "aaa"; //string ajax可以接收 8 } 9 10 @ResponseBody 11 @RequestMapping("/login2") 12 public Map<String, Object> login2(String username,String password){ 13 System.out.println(username+" "+password); 14 Map<String,Object> map=new HashMap<String,Object>(); 15 map.put("res", "yes"); 16 return map; //map ajax可以不能接收 17 }

js

 1       $(function() {
 2             $("#btn").click(function() {
 3                         $.post("login",{"username":"zww","password":"123"},function(data){
 4                             alert(data);  
 5                         });
 6                 });
 7 
 8             $("#btn2").click(function() {
 9                 $.post("login2",{"username":"zww2","password":"423"},function(data){
10                     alert("21");                   //不弹出
11             //        alert(data.res);
12                 });
13         });
14     });

其中 第一个点击事件为后台传递string,此时回调函数是可以接收到的;第二个点击事件为后台传递map,此时回调函数不执行,一个简单的数字都不弹出。

 

新手,求大神解答。。

胖胖的半山兄的主页 胖胖的半山兄 | 菜鸟二级 | 园豆:240
提问于:2015-09-17 09:46
< >
分享
最佳答案
0

这个你用AJAX,把他返回的状态与错误打印出来,就知道是什么原因导致回调函数怎么不执行, error:function(XMLResponse){alert(XMLResponse.responseText)},用$.post是没法调试的

收获园豆:20
稳稳的河 | 老鸟四级 |园豆:4183 | 2015-09-17 11:08

好了~ 多谢大神提醒。alert出来发现是页面406错误。设置了@ResponseBody,要把对象转换成json格式,缺少转换依赖的jar包。

胖胖的半山兄 | 园豆:240 (菜鸟二级) | 2015-09-17 11:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册