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

QQ登录

只需一步,快速开始

查看: 2428|回复: 9

[结贴] json数据怎么传递到下一个页面?

[复制链接]

2

主题

11

帖子

23

积分

新手上路

Rank: 1

积分
23
QQ
发表于 2015-11-12 17:21:50 | 显示全部楼层 |阅读模式
在wex5中,使用justep.Portal.openWindow(url,options)打开一个页面。
options参数,我想传一下json:
var p ={
                defaultValues:[{
                "PartitionNo":row.val("PartitionNo"),
                "PartitionName":row.val("PartitionName"),
                "Address":row.val("Address"),
                "Website":row.val("Website"),
                "Telephone":row.val("Telephone"),
                "Line":row.val("Line"),
                "PartitionDes":row.val("PartitionDes")
                }]};
现在的问题是:
1、json能不能直接放到参数里传过去。
2、是不是只有转成字符串了才能传过去。
3、json怎么转成字符串
4、打开的页面怎么接收传来的json.
5、字符串怎么转换成json.
初学wex5,望大神解答,叩谢!
发表于 2015-11-12 17:37:52 | 显示全部楼层
json对象可以直接传!
关于页面跳转和传参可以参考:http://doc.wex5.com/?p=5013
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

2

主题

11

帖子

23

积分

新手上路

Rank: 1

积分
23
QQ
 楼主| 发表于 2015-11-12 18:12:22 | 显示全部楼层
liangyongfei 发表于 2015-11-12 17:37
json对象可以直接传!
关于页面跳转和传参可以参考:http://doc.wex5.com/?p=5013

这个我也看过了,我是使用门户提供的方法,打开.w文件时,传一下json,而不是一两个参数而已。
回复 支持 反对

使用道具 举报

2

主题

11

帖子

23

积分

新手上路

Rank: 1

积分
23
QQ
 楼主| 发表于 2015-11-12 18:13:08 | 显示全部楼层
能给一个例子吗?都找不到例子
回复 支持 反对

使用道具 举报

发表于 2015-11-12 18:23:58 | 显示全部楼层
luobo 发表于 2015-11-12 18:13
能给一个例子吗?都找不到例子

直接将参数写上这个json对象,那边直接接收这个json 不可以吗??你参考那个简单案例自己试试!
就是把字符串直接换成json
如果不行,还可以使用localStorage的方法
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

2

主题

11

帖子

23

积分

新手上路

Rank: 1

积分
23
QQ
 楼主| 发表于 2015-11-12 19:10:21 来自手机 | 显示全部楼层
我试过了如果直接传一个json对象, 到下一个页面变成字符串"[object,object]",json对象,字符串相互转换用什么方法,怎么转换?
回复 支持 反对

使用道具 举报

2

主题

11

帖子

23

积分

新手上路

Rank: 1

积分
23
QQ
 楼主| 发表于 2015-11-12 19:13:53 来自手机 | 显示全部楼层
json对象,字符串互转用什么方法?
回复 支持 反对

使用道具 举报

发表于 2015-11-13 09:20:41 | 显示全部楼层
luobo 发表于 2015-11-12 19:13
json对象,字符串互转用什么方法?

方法网上搜下吧!
http://www.oschina.net/code/snippet_175925_6288
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

2

主题

11

帖子

23

积分

新手上路

Rank: 1

积分
23
QQ
 楼主| 发表于 2015-11-13 12:04:25 | 显示全部楼层
我的解决方法:
父窗口的点击事件代码:
var row = event.bindingContext.$object;
        var p ={
                defaultValues:[{
                "PartitionNo":row.val("PartitionNo"),
                "PartitionName":row.val("PartitionName"),
                "Address":row.val("Address"),
                "Website":row.val("Website"),
                "Telephone":row.val("Telephone"),
                "Line":row.val("Line"),
                "PartitionDes":row.val("PartitionDes")
                }]};
        debugger;
        var url = "$UI/myTest/Yqjs/mainActivity_view.w"
        var c = JSON.stringify(p);
        localStorage.setItem("YqjsData", c);
       
        justep.Portal.openWindow(url);

子窗口的modelLoad代码:

var data1 = JSON.parse(localStorage.getItem("YqjsData"));
        var data = this.comp("YqjsData");
                data.clear();
                data.newData(data1);
                //刷新list组件
                this.comp("list1").refresh(false);

可以解决传大量数据的问题。

谢谢wex5。可以结贴了。
回复 支持 反对

使用道具 举报

2

主题

11

帖子

23

积分

新手上路

Rank: 1

积分
23
QQ
 楼主| 发表于 2015-11-13 12:32:29 | 显示全部楼层
页面引用 了Json2.js文件

require("$UI/myTest/baas/json2");

json2地址

https://github.com/douglascrockford/JSON-js
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 23:55 , Processed in 0.118219 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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