我想要获取URL的哈希值,通过函数发送它,将该值转换为对象,但最终将值发送给JSON。我有以下设置:使用Javascript变量&发送到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(比如产品:3,证实:1)将被返回为{"product":3,"confirmed":1}
为什么不手动建立json。 – 2010-03-29 01:03:40
这是为什么编写的库/框架? – harto 2010-03-29 01:20:47
@詹姆斯布莱克:我试图让脚本尽可能灵活,所以没有我们知道预定义的真实值。 @harto:Prototype – drfranks3 2010-03-29 01:27:45