jQuery MiniUI

 找回密码
 立即注册
查看: 5618|回复: 8
打印 上一主题 下一主题

form.setData设置不了表单 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2017-8-18 11:31:06 |只看该作者 |倒序浏览
setData设置不了表单,success函数里面的请求数据也是成功请求到的,函数里最后一句也有执行,填了上去,就是setData不起作用,请问是什么原因
  1.             if (data.action == "edit") {
  2.                 //跨页面传递的数据对象,克隆后才可以安全使用
  3.                 data2 = mini.clone(data);


  4.                 $.ajax({
  5.                     url: "http://localhost:39941/api/method/get_carpark_device_item/" + data2.id + "?token=" + $.cookie("token"),//查询
  6.                     type:'get',
  7.                     cache: false,
  8.                     success: function (text) {
  9.                         var o = mini.decode(text);
  10.                         //mini.getbyName("id").setValue(text);
  11.                         form.setData(o);
  12.                         form.setChanged(false);
  13.                         mini.getbyName("id").setValue(data2.id);
  14.                     },
  15.                     error: function (){
  16.                         alert("fail");
  17.                     }
  18.                 });
  19.             }
  20.         }
复制代码



附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 1

沙发
发表于 2017-8-18 11:35:52 |只看该作者
数据格式错了。没有data这一层,应该只有[{...}]

Rank: 1

板凳
发表于 2017-8-18 11:37:50 |只看该作者
qsw 发表于 2017-8-18 11:35
数据格式错了。没有data这一层,应该只有[{...}]

或者这样写 form.setData(o.data);

Rank: 3Rank: 3

地板
发表于 2017-8-18 11:41:00 |只看该作者
qsw 发表于 2017-8-18 11:35
数据格式错了。没有data这一层,应该只有[{...}]

这个是后台api写好这样返回了,这要怎么处理?因为datagrid控件也用这个api进行查询所以有"data":

Rank: 1

5#
发表于 2017-8-18 11:43:09 |只看该作者
qsw 发表于 2017-8-18 11:37
或者这样写 form.setData(o.data);

后台数据应该是Map,不应该是List,应该这样传{“id”:“27”,....}。
你原来的数据如果想放进去,就这样写form.setData(o.data[0]);

Rank: 3Rank: 3

6#
发表于 2017-8-18 11:49:46 |只看该作者
qsw 发表于 2017-8-18 11:43
后台数据应该是Map,不应该是List,应该这样传{“id”:“27”,....}。
你原来的数据如果想放进去,就这样写 ...

问题解决了,用o.data[0]能填表单了,因为datagrid需要这种格式所以api返回的都是这样的格式,谢谢大神!

Rank: 8Rank: 8

7#
发表于 2017-8-18 12:16:01 |只看该作者
是的。form.setData(data)的参数data需要是一个对象,你这里是个数组,结构错了。

Rank: 1

8#
发表于 2018-5-20 19:03:00 |只看该作者
qsw 发表于 2017-8-18 11:43
后台数据应该是Map,不应该是List,应该这样传{“id”:“27”,....}。
你原来的数据如果想放进去,就这样写 ...

为什么我用form.setData(o.data[0]);前台F12就会报错,而且也不显示

Rank: 8Rank: 8

9#
发表于 2018-5-21 09:19:12 |只看该作者
zyh840206 发表于 2018-5-20 19:03
为什么我用form.setData(o.data[0]);前台F12就会报错,而且也不显示

1 检查一下o.data[0]的数据结构
2 报什么错误提示

Archiver|普加软件

GMT+8, 2025-7-13 23:48 , Processed in 1.019268 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部