我试图获取一个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}
最佳答案
toJSON()的典型实现需要数组或对象作为最顶层的元素。这样的Sonsomethig可能会起作用:
var pars = {p:myCur};
pars = pars.toJSON();
关于javascript - 使用Javascript变量并发送到JSON,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2535226/