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

QQ登录

只需一步,快速开始

查看: 2593|回复: 3

用data组件直接调用Baas服务

  [复制链接]

4

主题

19

帖子

137

积分

初级会员

Rank: 2

积分
137
QQ
发表于 2016-11-27 17:51:42 | 显示全部楼层 |阅读模式
用data组件仿baasData调用baas服务:
新建一个名为ajaxbaas.js文件:
define(function(require) {
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");       
       
        var ajaxbaas = {
           //从后台读取单表数据
           dataCustomRefresh : function(event,options){            
           var data = event.source;
           // 构造请求参数
           var params = {"columns" : justep.Baas.getDataColumns(data), //列定义,里面包含列名和列数据类型
                   "limit" : event.limit,// 分页信息 – 行数
                   "offset" : event.offset,// 分页信息 – 行偏移
                   "search" : options.search };// 检索关键字
           // 请求成功后的回调方法
           var success = function(resultData) {
                   // 通过event.options.append判断数据是否增量加载
                   var append = event.options && event.options.append;
                    // 加载返回数据到data
                   data.loadData(resultData, append);
                   if (options.success) {options.sucess(resultData);}
           };   
          justep.Baas.sendRequest({"url" : options.url, // servlet请求地址
                  "action" : options.action,
                  "params" : params, // action对应的参数
                  "success" : success // 请求成功后的回调方法
            });      
           },
           //保存数据,options.params是data组件数组
           dataCustomSave : function(options){
                // 获取当前数据对象
                var data = [];
        for(var i=0;i<options.params.length;i++){   
            // 将数据集中已变更数据导出为JSON数据
                   data[i] = options.params[i].toJson(true);
            }
            var params = {"tables" : data};
                 // 请求成功后的回调方法
                var success = function(resultData) {
                    // 保存成功后,必须调用data.applyUpdates(),用于数据集确认数据已更新\
                        for(var i=0;i<options.params.length;i++){   
                                options.params[i].applyUpdates();
                        }
                    if (options.success)
                       {options.success(resultData);}                  
                };
                    // 发送请求
                    justep.Baas.sendRequest({
                        "url" : options.url, // servlet请求地址
                        "action" : options.action, // action
                        "params" : params, // action对应的参数
                        "success" : success // 请求成功后的回调方法
                    });
           }
        }
        return ajaxbaas;
});

4

主题

19

帖子

137

积分

初级会员

Rank: 2

积分
137
QQ
 楼主| 发表于 2016-11-27 17:54:21 | 显示全部楼层
本帖最后由 chenyanhe 于 2016-11-27 17:55 编辑

调用方法:
建 一个w页面,加入data组件并定义刷新和保存事件,当然首先要引入前面的js
Model.prototype.data1CustomRefresh = function(event){
              ajaxbaas.dataCustomRefresh(event,{
              "url" : "/justep/demo", // servlet请求地址
          "action" : "queryOrder", // action
          "search":"'查询条件?'"      
              });                           
        };
        Model.prototype.data1CustomSave = function(event){
    // 获取当前数据对象
     var data = event.source;
     var params = [];
     params[0]= data;  //可加入多个data作为一个事务处理
     ajaxbaas.dataCustomSave(
     {
        "url" : "/justep/demo", // servlet请求地址
        "action" : "saveOrder", // action
        "params" : params, // action对应的参数
     }
     );   
        };

回复 支持 反对

使用道具 举报

4

主题

19

帖子

137

积分

初级会员

Rank: 2

积分
137
QQ
 楼主| 发表于 2016-11-27 17:59:30 | 显示全部楼层
本帖最后由 chenyanhe 于 2016-11-27 18:00 编辑

我自已测试时引用方法:
var ajaxbaas = require("ajaxbaas");
        var Model = function(){
                this.callParent();
            justep.Baas.BASE_URL = "http://localhost:2080/baas";    //我是调用.net服务更改的端口号  
        };
回复 支持 反对

使用道具 举报

1

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
QQ
发表于 2016-12-1 00:36:26 | 显示全部楼层
标记下, 有空再来学习
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-4 01:31 , Processed in 0.055682 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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