就是Ajax发送请求后,意图回显数据时会出现这个错误,貌似chrome浏览器不会报用火狐能看到:
可能的原因有两个,1就是后台应该返回一个json格式的字符串,但是你返回的是浏览器看不懂的,也就是返回格式错误:正确的应该是这样子的:
String result="{\"result\":\"delete User successed\"}";
然后
try { response.getWriter().write(result); } catch (IOException e) { e.printStackTrace(); }
原因 2 :这种情况不是很要紧,就是响应Ajax请求返回的数据时没有手动指定response的contentType在后台指定即可
response.setContentType("application/json");response.getWriter().write(result);
setContentType根据需求设置;如想返回简单字符就设置成text/plain;当用springmvc的@ResponseBody是就不需要设置了。
还有就是如果用的springmvc的话可以使用注解@ResponseBody 放在方法前,如
@RequestMapping("base/checkUsername") @ResponseBody public MapcheckUsername(String username) {
然后页面从返回的map中取值即可。
还有一种可能就是后台返回json数据时 本应该返回一个带数据结构的数据,但是给了一个null值也会导致解析不佳。处理办法,可参照如下
Listls=new ArrayList(); return ls;