JQuery .ajax 返回json格式,浏览器显示带有转义字符问题

这个问题导致不能正确调用回调函数。
action中代码如下:

jsonmetadata这个类的作用是将list转换成arrary封装成json格式

jsp中的代码

运行后,在浏览器中显示的是:
"{\"data\":[{\"name\":\"abc\",\"oldname\":\"efg\"}]}"
而在控制台上显示的是:
{"data":[{"name":"abc","oldname":"efg"}]}
搜索了一堆方法 试过了没有效果
最新回答
一川绿风

2024-05-06 03:32:15

这样的情况一般都是你的JSON不完整所致。在获取数据时这样处理一下就好了

$.post(url,data,function(youjson){
youjson=$.parseJSON(youjson);
//然后继续处理你的代码就好了
});
追问
浏览器输出的也是符合规则的json格式了,现在的问题是 ajax里的回调函数 success不执行,也根本运行不进去,我想应该是返回的数据没有取到。
追答
一步一步的调试,看看哪一步出问题了。不要着急,你一定能解决的。支持你哦!
追问
三克油,我在努力解决。。
夏日梧桐雨

2024-05-06 02:45:33

在action里面你转换了2次,你已经定义了action返回一个json格式 struts会把你指定的“result”变量再次进行序列化。直接params={"root","list"} struts会自动将list转换成json格式
追问
这个问题解决了,现在就差一个 进不去回调函数
月藏星匿

2024-05-06 04:46:37

楼主怎么解决的