一、问题复现
后台:
import java.util.*;
@Controller
public class Test{@RequestMapping("/get/loadInfo.do")@ResponseBodypublic Result getLoadInfo(){Result res=new Result();Map map =new HashMap();map.put(null,"one");map.put("a","two");res.setObject(map);return res;}}
前端:
$.get("/get/loadInfo.do").then(res=>{alert("success "+JSON.stringify(res));
},e=>{alert("error "+JSON.stringify(e));
});
结果:
在浏览器的开发者工具的Network的XHR可以看到请求是成功的,状态为200,结果总是输出error...
二、分析原因
因为后端请求的数据有以null为字段名,不是标准json而无法转换json对象,故AJAX不能正常转换json后调用error句柄进行处理