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

QQ登录

只需一步,快速开始

查看: 3396|回复: 10

[结贴] 怎样接受自定义动作返回参数

[复制链接]

10

主题

42

帖子

90

积分

初级会员

Rank: 2

积分
90
QQ
发表于 2017-9-9 22:32:28 | 显示全部楼层 |阅读模式
自定义动作是这样:
package hxzc;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.NamingException;
import com.alibaba.fastjson.JSONObject;
import com.justep.baas.action.ActionContext;
import com.justep.baas.data.DataUtils;
import com.justep.baas.data.Table;
import com.justep.baas.data.Transform;
public class Jvyggh {
        public static JSONObject dlyz(JSONObject params, ActionContext context) throws SQLException, NamingException {
                String tableName = params.getString("imsi"); //获得调用动作时传入的参数
                Table table = null;
                Connection conn = context.getConnection("khgl"); //获得数据库连接
                try {
                       
                String sql = "SELECT zhjb FROM yggh where imsi='" + tableName +"' and aqxy is not null";

                table = DataUtils.queryData(conn, sql, null, null, null, null);//从数据库查询数据
                String sqlTotal = "SELECT COUNT(*) FROM yggh where imsi='" + tableName +"'";
                Object total = DataUtils.getValueBySQL(conn, sqlTotal, null);
                table.setTotal(Integer.parseInt(total.toString()));
                return Transform.tableToJson(table); //将table 序列化后返回前端               
                } finally {
                conn.close(); //关闭数据库连接
                }
                }
}
那么前台这样为什么获取不到数据?
Model.prototype.modelLoad = function(event){
        var zhjb= this.comp("baasData1").get
    var rows=this.comp("baasData1").find(['imsi','153326168531']);
    justep.Baas.sendRequest(
    {
       "url":"/hxzc/Jvyggh",
       "action":"dlyzaction",
       "async":false,
       "params":{"imsi":"153326168531"},
       "success":function(date)
       {
       alert(data,table);
       }
    })
    if(rows.leght==0)
    alert("不存在");
    else
    alert("存在");
        };

        return Model;
});

10

主题

42

帖子

90

积分

初级会员

Rank: 2

积分
90
QQ
 楼主| 发表于 2017-9-9 22:34:34 | 显示全部楼层
alert(data,table);
应该是alert(data.table);
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35880
发表于 2017-9-11 14:03:09 | 显示全部楼层
参数名也不对
ajax.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

10

主题

42

帖子

90

积分

初级会员

Rank: 2

积分
90
QQ
 楼主| 发表于 2017-9-11 14:59:55 | 显示全部楼层

应该是哪个,是imsi还是imsi.table?
回复 支持 反对

使用道具 举报

10

主题

42

帖子

90

积分

初级会员

Rank: 2

积分
90
QQ
 楼主| 发表于 2017-9-11 15:09:41 | 显示全部楼层
都试过了,提示未定义!
回复 支持 反对

使用道具 举报

10

主题

42

帖子

90

积分

初级会员

Rank: 2

积分
90
QQ
 楼主| 发表于 2017-9-11 15:57:54 | 显示全部楼层
mrf 发表于 2017-9-11 15:09
都试过了,提示未定义!

都修改为data以及data.table,任然是未定义!
回复 支持 反对

使用道具 举报

10

主题

42

帖子

90

积分

初级会员

Rank: 2

积分
90
QQ
 楼主| 发表于 2017-9-11 17:50:59 | 显示全部楼层
mrf 发表于 2017-9-11 15:57
都修改为data以及data.table,任然是未定义!

难道无解了吗?!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35880
发表于 2017-9-12 09:53:02 | 显示全部楼层
debugger调试看看data中是什么?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

10

主题

42

帖子

90

积分

初级会员

Rank: 2

积分
90
QQ
 楼主| 发表于 2017-9-12 17:42:19 | 显示全部楼层
返回来的是一个json数据,怎样可以显示出来,对于初学者来说是由难度的!但是可以捆绑在控件上去查看,是可以看到的!但是程序往往需要具体的某一个值,来判断下一步怎么处理!不仅仅的把数据库里面的数据显示出来就好了。往往要根据不同的登陆者显示不同的内容!前端数据是这样的:
Model.prototype.modelLoad = function(event){
     var data=this.comp("data2");
     justep.Baas.sendRequest(
    {
       "url":"/hxzc/Jvyggh",
       "action":"dlyzaction",
       "async":false,
       "params":{"imsi":"153326168531"},
       "success":function(ret)
       {
       data.loadData(ret);
       }
    })
        };
加入data控件,利用data的onload属性去执行就好了!加入list、row、input组件绑定数据就好了!欢迎各位提出更为有效的解决办法!怎样在动作中看到具体的数据!
回复 支持 反对

使用道具 举报

10

主题

42

帖子

90

积分

初级会员

Rank: 2

积分
90
QQ
 楼主| 发表于 2017-9-12 21:10:51 | 显示全部楼层
mrf 发表于 2017-9-12 17:42
返回来的是一个json数据,怎样可以显示出来,对于初学者来说是由难度的!但是可以捆绑在控件上去查看,是可 ...

在动作里面查看具体数据库内容是这样的:
String sql = "SELECT yggh,ygxm,zhjb FROM "+ tableName ;
                Connection conn = context.getConnection("khgl"); //获得数据库连接
                Statement stmt = conn.createStatement();
                ResultSet rs = stmt.executeQuery(sql);
                String zhjb=null;
                 while (rs.next())
                 {
                    zhjb=rs.getString("zhjb");
                 }
                System.out.println(zhjb);
要加入:
import java.sql.Statement;
import java.sql.ResultSet;
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 22:24 , Processed in 0.079535 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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