ajax成功后XML 解析错误:格式不佳
就是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 Map<String, String> checkUsername(String username) {
然后页面从返回的map中取值即可。
还有一种可能就是后台返回json数据时 本应该返回一个带数据结构的数据,但是给了一个null值也会导致解析不佳。处理办法,可参照如下
List<InstitutionContent>ls=new ArrayList();
return ls;