$ .post以json格式使用变量来存储json字符串?

问题描述:

我需要发布60个输入。我建立了json字符串并将其存储在一个变量中。但不幸的是下面的代码不工作:

$.post("process_form.php", my_var); 

my_var包含格式的JSON字符串:

{ starta:'1', currenta:'5', finisha:'2', startb:'1', currentb:'5', finishb:'2', startc:'1', currentc:'5', finishc:'2', startd:'1', currentd:'5', finishd:'2', starte:'1', currente:'5', finishe:'2', startf:'1', currentf:'5', finishf:'2', startg:'1', currentg:'5', finishg:'2', starth:'1', currenth:'5', finishh:'2', starti:'1', currenti:'5', finishi:'2', startj:'1', currentj:'5', finishj:'2', startk:'1', currentk:'5', finishk:'2', startl:'1', currentl:'5', finishl:'2', startm:'1', currentm:'5', finishm:'2', startn:'1', currentn:'5', finishn:'2', starto:'1', currento:'5', finisho:'2', startp:'1', currentp:'5', finishp:'2', startq:'1', currentq:'5', finishq:'2', startr:'1', currentr:'5', finishr:'2', starts:'1', currents:'5', finishs:'2', startt:'1', currentt:'5', finisht:'2' } 

任何想法,为什么这不会工作?或者怎么做呢?

+0

你是什么意思与*不起作用*?你在控制台上遇到任何错误吗?数据是否被发送?用Firebug检查。实际上,与JSON没有任何关系,它不是JSON字符串,而是对象字面值。 – 2010-07-27 18:18:38

尝试在键和值周围使用双引号。

使用此测试的JSON是有效的: http://json.parser.online.fr/

或只使用jQuery的序列化方法

+0

数据已发送,但是其作为单个字符串发送。我的原始字符串未在您链接的json工具中验证。我在两个地方添加了双引号,并进行了验证。这就是我在Firebug中看到的:http://www.myupload.org/files/h75nj0oaqz876skqavgz.png – limbovski 2010-07-27 18:44:17

$.post('lol', { starta:'1', currenta:'5', finisha:'2', startb:'1', currentb:'5', finishb:'2', startc:'1', currentc:'5', finishc:'2', startd:'1', currentd:'5', finishd:'2', starte:'1', currente:'5', finishe:'2', startf:'1', currentf:'5', finishf:'2', startg:'1', currentg:'5', finishg:'2', starth:'1', currenth:'5', finishh:'2', starti:'1', currenti:'5', finishi:'2', startj:'1', currentj:'5', finishj:'2', startk:'1', currentk:'5', finishk:'2', startl:'1', currentl:'5', finishl:'2', startm:'1', currentm:'5', finishm:'2', startn:'1', currentn:'5', finishn:'2', starto:'1', currento:'5', finisho:'2', startp:'1', currentp:'5', finishp:'2', startq:'1', currentq:'5', finishq:'2', startr:'1', currentr:'5', finishr:'2', starts:'1', currents:'5', finishs:'2', startt:'1', currentt:'5', finisht:'2' }) 

上面的代码工作正常,POSTS正确与正确的数据对我来说。如何提供更多信息?