这是我的代码:
function show()
{
var parameters = new Object();
parameters.F1MBFC = 'N';
parameters.F1MCSI = 'N';
parameters.F1MMCY = 'N';
parameters.F1NACD = 'B';
parameters.F1RVCR = 'N';
parameters.SOURCEFILED = '_fld:FACILITY7';
showPopWin('http://mysite/popupForm.aspx', 650, 450, null);
}
我如何在url中传递对象参数作为参数? 有什么想法吗?
答案 0 :(得分:3)
如果你实际上是用JavaScript自己打开窗口,那么:
var win = window.open("foo");
win.document.SomeObject = "hello";
然后在另一页的代码中:
alert(document.SomeObject);
您还可以通过window.opener
属性访问调用者(可能取决于浏览)。我可能有一些错误,但你得到了一般的想法。
答案 1 :(得分:1)
您可以序列化对象并将其作为get参数传递。
以下是在JavaScript中序列化对象的方法:
var a = {
name: "alexn",
age: 20
};
a.toSource();
yields "({name:"alexn", age:20})"
您应该可以使用以下内容:
showPopWin('http://mysite/popupForm.aspx?parameter=' + parameters.toSource(), 650, 450, null);
答案 2 :(得分:0)
您可以将其序列化并将其作为字符串添加到URL中,然后在使用前对其进行反序列化。
答案 3 :(得分:0)
如前所述,您可以序列化对象并在新页面中读取。但我要补充一点,如果您可以控制打开页面的来源,那么您只需从新窗口访问父窗口即可获得所需的值。