1

我已经在 SO 中搜索过这个问题。但是没有一个答案对我有用,所以我再次发布这个,希望找到一个适合我的答案。

有没有办法通过 URL 传递 JS/JSON 对象?假设我有一个像这样的 JS 对象:

var jObj = {"color":"red","shape":"square"}

现在假设我想将它传递给这样的 URL:

window.open("/process/jObj"); //here I want the var defined above to be passed

我尝试了各种选项,如JSON.stringfy, encodeURIComponent, escape.. 但我无法传递它。知道如何在纯 JS 中实现这一点吗?

我想传递它,以便在下一页(process.php)中获取 jObj 的值并将其用于进一步处理。基本上我正在寻找一个选项,我可以将对象传递到?color=red&shape=square不需要过多压缩和重新格式化对象的效果

4

1 回答 1

2

这是您可以做的一件事

var jObj = {"color":"red","shape":"square"}
var urlParam = []

for (var i in jObj){
   urlParam.push(encodeURI(i) + "=" + encodeURI(jObj[i]));
}

window.open("/process/?" + urlParam.join("&"));

这应该会产生你的结果

于 2012-09-14T20:12:58.487 回答