【发布时间】:2011-02-01 21:01:00
【问题描述】:
我正在尝试获取 URL 的哈希值,通过函数发送它,将该值转换为对象,但最终将值发送到 JSON。我有以下设置:
function content(cur){
var mycur = $H(cur);
var pars = "p="+mycur.toJSON();
new Ajax.Updater('my_box', 'test.php', {
parameters: pars
});
}
function update(){
if(window.location.hash.length > 0){
content(window.location.hash.substr(1)); // Everything after the '#'
}
}
var curHashVal = window.location.hash;
window.onload = function(){
setInterval(function(){
if(curHashVal != window.location.hash){
update();
curHashVal = window.location.hash;
}
},1);
}
但由于某种原因,我似乎无法获得正确的 JSON 输出。它要么作为一个非常大的对象返回(1:“{”,2:“k”),要么根本不返回。我怀疑这是不可能完成的,但我已经用尽了我能想到的大部分方法。
我尝试过的其他方法是 "{" + cur + "}" 以及 cur.toObject(),但是,似乎没有一个可以完成工作。
感谢您的帮助!
编辑:作为最终结果,我希望将 URL(比如 product:3,confirmed:1)返回为 {"product":3,"confirmed":1}
【问题讨论】:
-
为什么不手动构建 json。
-
这是为什么库/框架编写的?
-
@James Black:我正在尝试使脚本尽可能灵活,因此没有我们知道预定义的实际值。 @harto:原型
标签: javascript json hash object