起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5462|回复: 15

[结贴] 如何在Action事件中获取请求中的Data信息

[复制链接]

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
发表于 2017-5-15 13:44:47 | 显示全部楼层 |阅读模式
现在想做一个日志功能,需求是:改动一张表单,我希望将前后改动的信息记录下来,比如姓名修改,我需要生成信息“将姓名由‘张三’改为‘李四’”。
我遇到三个问题:
第一,我参考SA_LOG中的一个字段sParameters,该字段中其实是request payload的信息,是json格式的,里面包含字段的 changed(是否变化) originalValue(旧值) value(新值)
如何在action事件中获取这些值,然后保存到自己的概念中。

第二,在action中可以获取table,遍历每个column,判断row.isModified(columnName),来构造我需要的字符串。是否有api直接可以将data与table直接进行转换

第三,如何获得概念的关系名,table有个tableMetaData,但我没找到获取关系中文名的api。例如我希望获得“姓名”这个中文描述,而不是“fName”。
及时结贴是个好习惯

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2017-5-15 14:13:36 | 显示全部楼层
具体来说就是:
微信截图_20170515140905.png
目前,我已经能实现图中的效果,但是,找不到api获取fParterName的关系中文名。

还有一个我希望在Action中获取类似SA_LOG中的bizData(Table)的json格式。
微信截图_20170515141316.png


及时结贴是个好习惯
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2017-5-15 14:19:15 | 显示全部楼层
微信截图_20170515141840.png

这是连续修改两条记录,最后保存的日志效果
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-15 16:06:45 | 显示全部楼层
1.action中获取json中的数据需要自己解析json
2.table是后端的,data是前端的
   table中的数据可以loadData给data
   data可以toJson得到table中的内容
3.http://docs.wex5.com/bex5-server-question-list-10016/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2017-5-16 08:59:30 | 显示全部楼层
第3点已按方法解决。第1点,我不需要解析,只需要获取json,请问怎么获取
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-16 10:40:22 | 显示全部楼层
具体什么事件中获取?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2017-5-16 11:31:19 | 显示全部楼层
jishuang 发表于 2017-5-16 10:40
具体什么事件中获取?

before或者after SaveAction
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2017-5-16 11:31:34 | 显示全部楼层
jishuang 发表于 2017-5-16 10:40
具体什么事件中获取?

标准的saveAction
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-16 11:47:50 | 显示全部楼层
标准的saveAction获取不到日志的json,可以获取table,自己获取相关的值,自己拼接
http://bbs.wex5.com/forum.php?mo ... 6&pid=164970552
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2017-5-16 12:03:26 | 显示全部楼层
jishuang 发表于 2017-5-16 11:47
标准的saveAction获取不到日志的json,可以获取table,自己获取相关的值,自己拼接
http://bbs.wex5.com/for ...

我发现你们的ajax请求,传data的时候,不是使用了key/Value(QueryString,即request的Content-Type为application/x-www-form-urlencoded),而是将json写入request body中的。在before Action里,我获取RequestContext,再获取request,读取body,提示已经读过了。 说明已经被转换了。

但是action开启日志的话,保存到SA_LOG的是json,请问这部分代码在哪
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 19:30 , Processed in 0.115991 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表