2 yzk520 yzk520 于 2016.03.15 13:41 提问

web项目前端读取json数据不正常 ? 10C

图片说明后台代码

@Override
    public String execute() throws Exception {
        Object obj=this.session.get(StaticString.ADMIN_INFO);
        Map<String, Object> map=new HashMap<String, Object>();
        if(obj!=null){
            AdminBean newAdmin =new AdminBean(this.name, this.password);
            ManageDao dao=AppDaoFactory.getInstance().getManageDao("manageDao");
            try{
                dao.updateAdmin(newAdmin);
                this.session.clear();
                map.put("message", "修改成功");
                map.put("success", true);
            }catch(AppException e){
                map.put("success", false);
                map.put("message", e.getMessage());
            }
            JSONObject json=JSONObject.fromObject(map);
            this.data=json.toString();
            return SUCCESS;
        }
        return "login";
    }

struts2
配置代码

 <action name="updateAdmin" class="com.iwm2.admin.actions.UpdateAdminAction">
            <result name="success" type="json">
                <param name="root">data</param>
            </result>
            <result name="login" type="redirectAction">login</result>
        </action

前端js代码

 $("#cpwa").click(function(){
        $("#ff").form('submit',{
            url:"updateAdmin",
            onSubmit:function(){
                return $(this).form('validate');
            },
            success:function(data){
                data=eval("(" + data + ")");
                if(data.success){
                    console.log(data);
                    console.log(data.success);
                    //alert(data.message);
                    location.href="login";
                }else{
                    console.log(data);
                    console.log(data.success);
                    alert(data.message);
                }
            }
        });
    });

结果却是无法读取json数据咋回事
console.log(data);能够打印出{"message":"修改成功","success":true}
console.log(data.message)却是undefined

6个回答

daidaineteasy
daidaineteasy   Ds   Rxr 2016.03.15 13:58

没有设置一下返回数据类型吧,dataType: "json",

u011489205
u011489205   2016.03.15 18:58

var json = JSON.parse(string) ;//讲一个字符串转化为json对象。
var jsonString = JSON.stringify(json)//讲一个js对象转化为json字符串。

shsongtao
shsongtao   2016.03.15 14:49

你的data是json啊,所以你把json转成js的object 然后再取值就ok了

showbo
showbo   Ds   Rxr 2016.03.15 14:52

eval转过data应该是json对象,你是执行到else语句打印出来的?

u013772876
u013772876   2016.03.15 15:49

设置ajax返回数据类型属性 dataType: "json",就可以了

m_qiaozi
m_qiaozi   2016.03.15 18:38

如果你将返回类型设置为,在action中不需要使用JSONObject.fromObject方法,直接返回MAP对象即可,struts2会自动将对象转化为json字符串。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
json获取数据库的信息在前端页面显示
ajax发送请求到controller,controller响应一个json格式的数据给页面, JSON.parse()再解析json字符串,用$.each遍历。 @RequestMapping("/list") public @ResponseBody java.util.List<UserVO> List() throws Exception{ return s
web项目开发 之 前端规范 --- JSON数据传输规范
此文严格按照W3C规范和部分实际项目可读性,浏览器加载,性能等众多属性权衡,做出平时前端编码规范文档。供广大web工作者参考并实施,对维护和项目扩展升级都能省时省力。场景:前后端分离 异步利用JSON 传输数据;E-JSON数据传输标准简介E-JSON的设计目标是使业务系统向浏览器端传递的JSON数据保持一致,容易被理解和处理,并兼顾传输的数据量。E-JSON依托于http协议(rfc2616)与
关于前端获得json数据后的处理
如果接口返回【{},{}】这样的数据的格式的话,直接获取是获取不到的,必选先循环处理,然后进行转换成对象,然后在进行对象属性的方式获得
前端开发中如何解析json数据(一)
json数据在web开发中,应用很广泛,尤其是在网络数据传输的时候,json数据作为数据传输的载体,如何解析Json返回的数据变得尤为重要。那么我们先来看一下什么是json数据? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
web前端与后台数据交互--Json
1、返回表格数据List
前端路上遇到的坑—跨域获取json格式的数据
LZ是一个前端菜鸟,入坑一年多,一直想写博客记录自己走过和填过的那些坑,却一直没有付之行动,最近刚辞职换工作了,轻松了很多,废话少说,开始我的博客之旅,希望可以帮到遇到同样问题的人,如果有错误的地方请各位dalao指正,轻喷。 给当地ZF部门做项目,需要从对方的微信关注用户数,对方直接给出一个url,让我们直接通过HTTP请求获取,刚开始前几天测试可以获取到数据,但是后来突然就不行了。开始排
jsp后台所用到的jar文件(包含mysql和sqlserver的包)
已jsp为后台,读取mysql服务器内容,把返回内容加工成json格式,向前端发送json数据。
Spring mvc Controller层与前端JSON数据交互
纯记录贴: 1、pom.xml: <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.13</version> </dependency>
json数据在前端遍历注意事项
json遍历
【已解决】php前端提交的json格式数据在后端用json_decode解不出来
遇到一个奇怪的问题,前端提交的json格式数据在后端用json_decode解不出来,尝试用var_dump()从后端输出前端提交的内容,结果如下: string(155) "{\"contentTemplate\":\"testBefore%%lastReason%%testEnd\",\"auditMode\":1,\"indexShow\":[{\"rowId\":0,\"roles\":