就是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;