jQuery,带有JSON的AJAX post Javascript数组

jQuery,带有JSON的AJAX post Javascript数组,javascript,jquery,django,json,Javascript,Jquery,Django,Json,我有一个Javascript变量,它是一个数组(我将字符串推入其中),我必须通过AJAX jQuery.POST()方法将该列表发送回服务器: 在服务器中,我运行Django并尝试使用以下视图解码POST请求: @login_required def user_verification(request): if not request.POST.has_key('user_list'): print (__name__ + ', user_verification, r

我有一个Javascript变量,它是一个数组(我将字符串推入其中),我必须通过AJAX jQuery.POST()方法将该列表发送回服务器:

在服务器中,我运行Django并尝试使用以下视图解码POST请求:

@login_required
def user_verification(request):

    if not request.POST.has_key('user_list'):
        print (__name__ + ', user_verification, raising BadRequest.')
        raise Exception("'user_list' not found as a POST parameter.")

    value = unicode(request.POST['user_list'])
    print (__name__ + ', value, v = ' + value)
    user_list = json.loads(request.body) 
我得到了“json.loads(request.body)”引发的以下输出和异常:


[“42”]不是一个包含单个元素的有效JSON数组定义吗?

我对Django一无所知,所以,这完全是猜测:D

import json
...
value = json.load(request.POST['user_list'])

我可能完全错了,但在我看来,你试图解码一个错误的东西。如果我没弄错的话,你可以请求。身体看起来像这样:

user_list=["42"]
如果你试图破解这个,你就有问题了。那么为什么不从变量值中解码值呢

user_list = json.loads(value) 

尝试传递
{“42”}
而不是
[“42”]
,但我使用的是JSON.stringify(),其输出是否正确?尝试将JSON结构中的“key”
用户列表
更改为其他内容。这可能是导致问题的原因。另外,为了安全起见,您可以将JSON更改为
var data={“newKey”:JSON.stringify(user_list)}
?是的,我认为太晚了。。。我在将参数传递给json.load()时犯了一个错误。@Ricardo我刚刚意识到还有另一个函数名为
loads
,您已经在使用它了,因此,我显然(又一次)有点离题了:如果它在某种程度上有所帮助,我会很高兴。
user_list=["42"]
user_list = json.loads(value)