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

QQ登录

只需一步,快速开始

查看: 1792|回复: 2

[处理中1] Data组件的CustomSave失败

[复制链接]

2

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
QQ
发表于 2016-10-24 13:31:44 | 显示全部楼层 |阅读模式
先说逻辑:
实现用户名和密码的注册,密码提交的时候,以密文形式提交。现在先做了一个雏形。本人初学不久。自定义CustomSave提价成功,可是数据死活进不去数据库,求高人指点。

数据库有张User表,字段如下:
uiD
uUserName
uPassWord
uName

页面上有两个bassdata组件,分别是checkUserBaasData和userBaasData,checkUserBaasData负责校验是否存在该用户,userBaasData用来保存。也能提交成功,保存不到数据库,不知道为什么。

代码部分:
Model.prototype.userBaasDataCustomSave = function(event){
                var data = event.source;
                var userBaasData = this.comp("userBaasData");
                var checkUserBaasData = this.comp("checkUserBaasData");
                var userNameInput = this.comp("userNameInput");
                var uUserPassword = this.comp("uUserPassword");
                var me = this;
                var urlParams = new Object();
               
                urlParams.uId=justep.UUID.createUUID();
               
                var success = function(resultData) {
                        alert('提交');
                // 保存成功后,必须调用data.applyUpdates(),用于数据集确认数据已更新
                //data.applyUpdates();
                //me.newUserData();
            };
               
                checkUserBaasData.clear();
               
                /*占位符的方式查询*/
                checkUserBaasData.setFilter("uUserNameFilter", "uUserName='"+userNameInput.val()+"'");
               
                checkUserBaasData.refreshData();
               
                if(checkUserBaasData.getCount()>0){
                        justep.Util.hint("用户已经存在");
                }else{
                urlParams.uUsername = userNameInput.val() || $("[xid=userNameInput]").val();//为了支持360急速浏览器, 自动设置参数的情况
                
                if(!urlParams.uUsername)
                        throw justep.Error.create('用户名不能为空!');
                
                urlParams.uPassword = uUserPassword.val() || $("[xid=uUserPassword]").val();//同上
                
                if (!urlParams.uPassword){
                                throw justep.Error.create('密码不能为空!');
                }else{
                        urlParams.uPassword = md5.hex_md5(urlParams.uPassword);
                }
                   
                //urlParams.loginDate = justep.Date.toString(new Date(), 'yyyy-MM-dd');
                
                var params = {
                        "data" : data.toJson(true)
                    };
                    
                    Baas.sendRequest({
                        "url" : "/qd/test",
                        "action" : "saveUser",
                        "params" : params,//这里也可以直接传urlParams
                        "success" : success
                    });
                     

                    /*
                    $.ajax({
                        type: "GET",
                        url: require.toUrl('/bass/qd/test/saveUser'),
                        dataType: 'json',
                        data:urlParams,
                        success: function(resultData) {
                                        alert('提交');
                                // 保存成功后,必须调用data.applyUpdates(),用于数据集确认数据已更新
                                data.applyUpdates();
                                me.newUserData();
                            }
                    });
                    */
                }
               
        };

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-10-24 16:07:03 | 显示全部楼层
注册的话,如果换一种逻辑呢?就是说使用 count()方法 来判断用户名是否存在了,用户名作为唯一的标识保存到数据库中,在新用户注册是,使用用户名,先去数据库中过滤,检查是否有该用户名,如果有count() 就是一定大于0 ,如果有 count 就等于0 。通过这个方法来校验是否存在,然后使用savaData 方法保存到数据库中,具体,你可以参考仿网易案例的 注册功能
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

2

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
QQ
 楼主| 发表于 2016-10-24 16:50:48 | 显示全部楼层
闰土 发表于 2016-10-24 16:07
注册的话,如果换一种逻辑呢?就是说使用 count()方法 来判断用户名是否存在了,用户名作为唯一的标识保存 ...

你说的方式是可行的,这一点非常感谢。你说的这个方式我也尝试了,但是我看开发文档的时候官方说,大多时候data自带的saveData方法已经能够进行相关保存操作了,但是更建议用CustomSave、CustomDelete之类的,我就想尝试以下用这种自定义的方式进行操作,我只是想说,如果一定要用CustomSave的方式,该怎么让数据有效保存入库。我是从事Java开发的在职人员,想多学一点东西,就想搞明白用CustomSave该怎么做,所以希望不吝赐教,在此说声谢谢。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-8 07:24 , Processed in 0.059648 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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