在通过java返回自己编写的json数据字符串时候,在前台jquery总是接受不到json数据,而且alert也不能alert出来,火狐也不报错,
但是设置为dataType为text的时候就能接受到数据,并能够alert出随意字符串,网上查了好久资料发现,json数据中双引号是对的,单引号是不规范的,
即返回的{‘key' : 'value'}数据jquery是不认的,
而返回{ "key" : "valule"}数据jquery就认为是json数据,
而我们在后台返回时,自己组字符串通常response.getWriter().print("{'success':‘chenggong'}");直接打印给了前台
返回的时候就出现单引号不认的情况,所以接收不到json数据,
解决可以在后台通过String result = "{'success':‘chenggong'}";
再response.getWriter().print(result.replace("'", "\""));
或者通过text接受返回数据,再用js替换一下,不嫌麻烦的话,后台直接用对象添加,然后再转成json字符串也是可以的