如何通过url传递javascript对象

时间:2010-07-23 08:17:41

标签: javascript

这是我的代码:

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中传递对象参数作为参数? 有什么想法吗?

4 个答案:

答案 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)

如前所述,您可以序列化对象并在新页面中读取。但我要补充一点,如果您可以控制打开页面的来源,那么您只需从新窗口访问父窗口即可获得所需的值。