问题描述
1:用window.open打开个窗口,如何把对象参数传过去呢
2:传过去了如何获取值呢??
传值格式:
{"ORGIDS":"","PRODUCTIDS":"P0001,P0002,P0004","MINFEE":"","MAXFEE":"","PRICETYPE":"0","PAGESIZE":20,"PAGEINDEX":1}
1:用window.open打开个窗口,如何把对象参数传过去呢
2:传过去了如何获取值呢??
传值格式:
{"ORGIDS":"","PRODUCTIDS":"P0001,P0002,P0004","MINFEE":"","MAXFEE":"","PRICETYPE":"0","PAGESIZE":20,"PAGEINDEX":1}
window.open
返回的是打开的window
的引用。
所以事先先在要打开的窗口中注册全局函数window.setData = Function
,打开后直接调用被打开的window
的全局函数setData
即可。
const ref = window.open(uri);
if (ref && ref.setData) ref.setData(data, callback);
刚刚下班,苦逼
方式很多,但是最好的方式是通过 url的 query进行传值;示例代码如下:
let a = {
key:'value'
}
// 对参数进行序列化
let astr = JSOS.stringfy(a);
let url = 'http://www.baidu.com?val='+astr;
window.open(url);
// 打开的页面获取值
let query = window.location.query;
// 然后解析参数,最后使用 JOSN.parse(); 进行反序列化为对象,就可以了
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
拼接在url上