Ajax得到的Json数据 在Js中如何输出Object的值


● 解决

一个 object 对象,格式一般是这样的:{key:value,key2:value,key3:value}

● 输出object的的某个值:alert (object.key)

● 查看object:console.log(object)

● 输出一个 object 对象,需要把 object 类型 转换成 string 类型

ext.js
Ext.encode(object);
JSON2.js
JSON2.stringify(object)

● 问题

前端HTML

<a onclick="user_stop(this,'<s:property value="#user.id"/>')" href="javascript:;" title="启用">
    <i class="layui-icon">&#xe601;</i>
</a>

前端JS

直接alert(data)或alert(success)会输出Object object或空值;
获取json对象中的数据使用键值对方式,Object.key
function user_stop(obj, id) {
    layer.confirm('确认要更改用户状态吗?', function(index) {
        $.post(//action的地址
            "${pageContext.request.contextPath}/UserAction_changeUserState",
            //提交的数据
            {"id":id},
            //回调函数
            function(data){
                //获取后台返回的的数据进行判断,修改前端样式
                //data.key获取json数据对象的值
                if(data.success==1){
                    $(obj).attr('title', '启用')
                    $(obj).find('i').html('&#xe601;');
                    $(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已启用');
                    layer.msg('已启用!', {
                        icon : 6,
                        time : 1000
                    });
                } else {
                    $(obj).attr('title', '停用')
                    $(obj).find('i').html('&#xe62f;');
                    $(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
                    layer.msg('已停用!',{
                        icon : 5,
                        time : 1000
                    });
                }
            },
            //数据格式
            "json"
        )
    });
}   

后端Action

public String changeUserState() throws Exception {
    Integer success = userService.changeUserState(userid);//传递一个Integer类型的对象,0或1到前端进行判断
    ServletActionContext.getResponse().getWriter().write("{\"success\":" + success + "}");
    return null;
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM