ajax提交请求返回对象异常问题

很早之前的一个ajax请求今天突然不能正常显示数据了。

控制台看到报错 POST http://xxx:8081/spider-war/spiderControl.do?method=getTaskList 404 (Not Found)

没改什么呀,怎么错了。debug看list也是查询到的呀。

 1 @ResponseBody
 2     @RequestMapping(params = "method=getTaskList", produces = { "text/plain;charset=UTF-8" })
 3     public String getTaskList(HttpServletRequest request){
 4         Map<String, Object> resultMap = new HashMap<String, Object>(); 
 5         try {
 6             SpiderTask task = new SpiderTask();
 7             List<SpiderTask> list = spiderControlService.selectSpiderTaskList(task);
 8             resultMap.put("tasks", list);
 9         } catch (Exception e) {
10             e.printStackTrace();
11             resultMap.put("msg", 0);
12         }
13         return JSonUtil.toJSonString(resultMap);
14     }

后来问了问同事,他把把返回对象由 resultMap.put("tasks", list); 换成 resultMap.put("msg", 0);

发现可以了,正常返回说明是这个list有问题了.
这时候我突然想起list里面对象新增了个字段,一定是这问题。

private Integer prefix;

这个字段,
开始我是用int类型,可是这样的话new 对象,这个字段就默认有值了(0),所以后来改成Integer对象类型。
但是这里没改  

public int getPrefix() {
return prefix;
}

public void setPrefix(Integer prefix) {
this.prefix = prefix;
}


之后把这改成Integer就返回正常了。其中具体原因我不是特别清楚,但是我觉得应该是他调用了getPrefix导致的问题。



原文地址:https://www.cnblogs.com/wangly/p/5443591.html