问题描述
struts2class person{String name;String age;....set get}/////////////actionpublic String op (){private String orgTree;....set get....person ps = new person();ps.setname="dd";ps.setage ="12";JSONObject json = JSONObject.fromObject(ps);orgTree = json.toString();return "initsuccess"}/////////////jsfunction getinfo (){var pers = <%=request.getAttribute("orgTree")%>;window.alert(pers.name);}结果:dd// 得到的 pers 怎么就是 json了 不是String了?
解决方案
<%=request.getAttribute("orgTree")%> 是在服务器端输出字符串的,传输到浏览器后就没有双引号了,你右击查看下 变成了json字面量
解决方案二:
(1)直接用request.getAttribute()的结果:var str={name:'ok',age:'21'}直接是定义js中的json对象的语法了;(2)ajax调用后返回的json串,已经是js中的字符串了(这个应该决定于ajax请求响应机制,也有一些框架提供返回json类型的),所以要转换为json对像就使用eval了
时间: 2024-09-18 17:12:17