我有一个Javascript对象(或对象数组?)形式:
[{"id":"1","col":"0.35","type":"1"},{"id":"2","col":"0.30","type":"1"},{"id":"11","col":"0.20","type":"0"}]
我想将其转换为URL,然后能够在页面加载时将此URL解析回相同的表单。我还想在URL的前面添加一个title元素,在重新创建对象之前将其去掉。因此上面的网址可能如下所示:(我不需要密钥,因为网址可能很长)
http://example.com/myURL.html?Page_Title&1,0.35,1&2,0.30,1&11,0.20,0
然后,当页面加载时,我会删除“PageTitle”'并重新创建对象,添加回id:,col:和type:keys)。
该URL可能包含数十个{id,col,type}组。
我正在使用此功能,但我似乎无法使其正常工作。我确信这是一件很容易被我误解或忽视的事情。
function ArrayToURL(array,title) {
var pairs = [];
for (var key in array)
if (array.hasOwnProperty(key))
pairs.push(encodeURIComponent(array[key]));
my_title=(encodeURIComponent(title));
return ("http://example.com/myURL.html?")+my_title+'&'+pairs.join('&');
}
答案 0 :(得分:1)
function ArrayToURL(array,title) {
var pairs = [];
for (var key in array){
var obj = array[key];
var temp='';
for(var key in obj){
temp+=obj[key]+",";
}
pairs.push(temp);
}
my_title=(encodeURIComponent(title));
return ("http://example.com/myURL.html?")+my_title+'&'+pairs.join('&');
}