我已经在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
的效果,而不必压扁和重新格式化对象
答案 0 :(得分: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("&"));
这应该产生你的结果