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

QQ登录

只需一步,快速开始

楼主: tlkj

[处理中] 关于自定义action的返回值以及js中解析

[复制链接]

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-2-22 10:46:02 | 显示全部楼层
在.w中放一个data组件,添加关系,关系名要给action方法的关系名一致

调用action后用data.loadData(result.response)把返回的table加载给data,就可以通过data去操作数据

推荐先把X5提供的初级视频看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-22 10:50:24 | 显示全部楼层
初级里面好像没讲这个data.load吧,在这个代码语境里面加到什么位置合适呢?
biz.Request.sendBizRequest({
                        "context" : this.getContext(),
                        "action" : "uniqueAction",
                        "directExecute" : true,
                        "parameters" : params,
                        callback : function(result) {
                                if (result.state) {
                               
                                result.response
                                alert(JSON.stringify(result.response));
                                var objJson = JSON.parse(result.response);//'{"aaa":"aaa"}');
                               
                                        //alert(objJson.ygkh);
//                                        this.comp("data1").loadData(result.response);
                                        alert(result.response.length);
                                        return;
                                        if (result.response > 0) {
                                                alert("员工卡号重复!请重新输入!");
                                                event.cancel = true;
                                                return;
                                        } else {
                                       
                                                this.comp("ryData").saveData();
                                                this.comp('msg').show({message : '保存成功!'});
                                        }
                                }
                        }
                });

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-2-22 10:52:18 | 显示全部楼层
callback : function(result) {
                                if (result.state) {
中就可以直接loadData
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-22 10:55:23 | 显示全部楼层
//                                        this.comp("data1").loadData(result.response);这样写对不对?你仔细看我发的源码没有?就是这样写了  if (result.response > 0) {这地方怎么处理?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-2-22 11:12:49 | 显示全部楼层
你要把我前后发的关联起来看啊

1.回调函数中不能直接用this,在http://bbs.wex5.com/forum.php?mo ... 0&pid=165213420中已经发了怎么写

2.http://bbs.wex5.com/forum.php?mo ... 9&pid=165213759
中已经给已发了怎么取值,给0做比较
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-22 11:33:02 | 显示全部楼层
本帖最后由 tlkj 于 2016-2-22 11:36 编辑

没有触发 alert("员工卡号重复!请重新输入!");

源码:

var self = this;
                biz.Request.sendBizRequest({
                        "context" : this.getContext(),
                        "action" : "uniqueAction",
                        "directExecute" : true,
                        "parameters" : params,
                        callback : function(result) {
                                if (result.state) {
                                
                                //alert(JSON.stringify(result.response));
                                //var objJson = JSON.parse(result.response);//'{"aaa":"aaa"}');
                                
                                        //alert(objJson.ygkh);
                                        self.comp("data1").loadData(result.response);
                                        //alert(result.response.length);
                                        return;
                                        if (result.response.rows.length > 0) {
                                                alert("员工卡号重复!请重新输入!");
                                                event.cancel = true;
                                                return;
                                        } else {
                                       
                                                self.comp("ryData").saveData();
                                                self.comp('msg').show({message : '保存成功!'});
                                        }
                                }
                        }
                });
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-2-22 11:34:41 | 显示全部楼层
15楼的第一个问题发的就是这个回调函数中不能直接用this
this.comp("data1").loadData(result.response);
改为
self.comp("data1").loadData(result.response);
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-2-22 11:38:02 | 显示全部楼层
你都return了怎么触发
js中的问题,可以自己在js中加debugger去调试
http://doc.wex5.com/?p=4496
js.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-22 11:46:00 | 显示全部楼层
result.response.rows.length > 0这据取出来即使有重复的取出来的值还是1
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-2-22 13:12:51 | 显示全部楼层
值是1说明就取出来一条数据
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 03:32 , Processed in 0.065621 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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