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

QQ登录

只需一步,快速开始

查看: 3998|回复: 13

[处理中3] loadData数据不显示

[复制链接]

186

主题

1012

帖子

1663

积分

金牌会员

Rank: 6Rank: 6

积分
1663
QQ
发表于 2018-1-25 15:07:17 | 显示全部楼层 |阅读模式
结构绑定是这样的,一个list绑定了data。output绑定data字段。。。然后从后台拿到json数据后,直接self.comp("myData").loadData(data.data); 塞到data中,数据不显示。如果用self.comp("myData").newData({defaultValues:[data.data]});就能显示,为什么?

53

主题

928

帖子

1730

积分

金牌会员

Rank: 6Rank: 6

积分
1730
发表于 2018-1-25 20:47:43 | 显示全部楼层
data = eval("("+data+")")一下再执行
self.comp("myData").loadData(data.data)
承接wex5开发web项目、微信页面等;
低费用进行零散功能开发(java、JS、微信各种接口、阿里云接口等)
QQ:459349489
回复 支持 反对

使用道具 举报

186

主题

1012

帖子

1663

积分

金牌会员

Rank: 6Rank: 6

积分
1663
QQ
 楼主| 发表于 2018-1-27 17:02:07 | 显示全部楼层
doudou459 发表于 2018-1-25 20:47
data = eval("("+data+")")一下再执行
self.comp("myData").loadData(data.data)


data = eval("("+data+")");
是什么意思?这样不行,报错的。
回复 支持 反对

使用道具 举报

53

主题

928

帖子

1730

积分

金牌会员

Rank: 6Rank: 6

积分
1730
发表于 2018-1-27 17:03:38 | 显示全部楼层
波斯大香蕉 发表于 2018-1-27 17:02
data = eval("("+data+")");
是什么意思?这样不行,报错的。

你返回过来的数据是一串字符串,loaddata  要json     所以你需要将字符串转化为json数组格式   
承接wex5开发web项目、微信页面等;
低费用进行零散功能开发(java、JS、微信各种接口、阿里云接口等)
QQ:459349489
回复 支持 反对

使用道具 举报

186

主题

1012

帖子

1663

积分

金牌会员

Rank: 6Rank: 6

积分
1663
QQ
 楼主| 发表于 2018-1-27 17:05:30 | 显示全部楼层
doudou459 发表于 2018-1-27 17:03
你返回过来的数据是一串字符串,loaddata  要json     所以你需要将字符串转化为json数组格式    ...

返回的肯定是json数据,但是返回的json格式可能不符合data的要求,所以插不进去?
回复 支持 反对

使用道具 举报

53

主题

928

帖子

1730

积分

金牌会员

Rank: 6Rank: 6

积分
1730
发表于 2018-1-27 17:05:46 | 显示全部楼层
如果  上面那个有错的 话   估计是因为引号的问题      
data = eval('(' + data + ')');   用这个吧    如果还出错   那么就是你后台返回的数据  不能进行data = eval('(' + data + ')');操作    那么返回的数据就不是json对象
承接wex5开发web项目、微信页面等;
低费用进行零散功能开发(java、JS、微信各种接口、阿里云接口等)
QQ:459349489
回复 支持 反对

使用道具 举报

186

主题

1012

帖子

1663

积分

金牌会员

Rank: 6Rank: 6

积分
1663
QQ
 楼主| 发表于 2018-1-27 18:34:24 | 显示全部楼层
doudou459 发表于 2018-1-27 17:05
如果  上面那个有错的 话   估计是因为引号的问题      
data = eval('(' + data + ')');   用这个吧     ...

返回的必然是一个json,但是json的结构不是data这样的结构,所以插不进去。
1517049212(1).jpg
回复 支持 反对

使用道具 举报

53

主题

928

帖子

1730

积分

金牌会员

Rank: 6Rank: 6

积分
1730
发表于 2018-1-27 19:57:34 | 显示全部楼层
波斯大香蕉 发表于 2018-1-27 18:34
返回的必然是一个json,但是json的结构不是data这样的结构,所以插不进去。 ...

所以你要以data的结构返回才行啊
承接wex5开发web项目、微信页面等;
低费用进行零散功能开发(java、JS、微信各种接口、阿里云接口等)
QQ:459349489
回复 支持 反对

使用道具 举报

53

主题

928

帖子

1730

积分

金牌会员

Rank: 6Rank: 6

积分
1730
发表于 2018-1-27 20:00:02 | 显示全部楼层
        private static void getData(HttpServletRequest request, HttpServletResponse response)// 查询数据
                        throws ServletException, IOException {
                try {
                        // 调用Class.forName()方法加载驱动程序
                        Class.forName("com.mysql.jdbc.Driver");
                } catch (ClassNotFoundException e1) {
                        System.out.println("找不到MySQL驱动!");
                        e1.printStackTrace();
                }
                String url = StudyContants.getMysqlurl("study"); // JDBC的URL
                // 调用DriverManager对象的getConnection()方法,获得一个Connection对象
                Connection conn;
                try {
                        conn = DriverManager.getConnection(url, "root", StudyContants.getMysqlKey());
                        // 创建一个Statement对象
                        Statement stmt = conn.createStatement(); // 创建Statement对象
                        String sql = "SELECT ID,name,phone,address FROM testdata ";
                        // 这里我没有做条件查询,如果要做条件查询,就加where语句就好了,建议你的where语句后面的查询条件列,在数据库中加上索引,今后数据量大了之后,有索引和没有索引耗时相差会很大
                        ResultSet rs = stmt.executeQuery(sql);
                        JsonArray array = new JsonArray();
                        /*
                         * wex5中baasdata和data能支持简单json格式loaddata,
                         * 说直白点就是支持json数组格式:[row1,row2,row3],其中row就是json格式{列1:值,列2:值,列3:值}
                         * 所以我在这里要把查询处理的数据以这种格式返回给w页面,以便data进行加载
                         */
                        while (rs.next()) {
                                JsonObject ob = new JsonObject();
                                ob.addProperty("ID", rs.getString("ID"));
                                ob.addProperty("name", rs.getString("name"));
                                ob.addProperty("phone", rs.getString("phone"));
                                ob.addProperty("address", rs.getString("address"));
                                array.add(ob);
                        }
                        response.getWriter().write(array.toString());// 直接将数组转化为字符串格式返回给w页面。
                        rs.close();
                        stmt.close();
                        conn.close();
                } catch (SQLException e) {
                        e.printStackTrace();
                }
        }

这是我的返回数据的代码······这样返回的就是简单json数组····   可以直接加载
承接wex5开发web项目、微信页面等;
低费用进行零散功能开发(java、JS、微信各种接口、阿里云接口等)
QQ:459349489
回复 支持 反对

使用道具 举报

186

主题

1012

帖子

1663

积分

金牌会员

Rank: 6Rank: 6

积分
1663
QQ
 楼主| 发表于 2018-1-28 12:26:06 | 显示全部楼层
doudou459 发表于 2018-1-27 20:00
private static void getData(HttpServletRequest request, HttpServletResponse response)// 查询数据
                 ...

我们后台是PHP的,直接调接口。应该就是返回的格式问题。PHP不是我写的。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 15:34 , Processed in 0.056664 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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