Javascript 将字典传递给Ajax

Javascript 将字典传递给Ajax,javascript,django,ajax,Javascript,Django,Ajax,我在('click',)事件上有一个Ajax调用。从我的HTML传递的数据是value='{{y.id}}{{y.id}}'。 Ajax将其作为str传递到python服务器端的myviews.py 有没有一种方法可以把它作为一个列表或词典直接列出?或者我必须在我的视图.py中提取并转换它吗 我的html: {% if user.is_authenticated %} <form class="add_btn" method='pos

我在('click',)事件上有一个Ajax调用。从我的HTML传递的数据是
value='{{y.id}}{{y.id}}'
。 Ajax将其作为
str
传递到python服务器端的my
views.py

有没有一种方法可以把它作为一个列表或词典直接列出?或者我必须在我的
视图.py中提取并转换它吗

我的html:

{% if user.is_authenticated %}            
                <form class="add_btn" method='post'>{% csrf_token %}
                <button class='added btn' value='{{x.id }}{{ y.id }}' ><i class=' fas fa-save'></i></button>              
{% endif %}
我的观点

def add(request):
    data = {'success': False} 
    if request.method=='POST':
        prefered = request.POST.get('prefered')
        print (prefered)
        print (type(prefered))
        user = request.user
        print (user)         
        data['success'] = True
    return JsonResponse(data)

正如您所说的,运行python的服务器端将接收字符串化JSON格式的AJAX数据,解析工作完全由应用程序层完成

这意味着您必须在您的
视图.py中进行解析。但是,在
json
simplejson
等包的帮助下,这应该相当容易

请注意,在某些情况下,解析可能发生在中间件层内,从而使应用程序更容易(例如,
views.py
),但对于小型项目,设置中间件层通常需要避免开销

def add(request):
    data = {'success': False} 
    if request.method=='POST':
        prefered = request.POST.get('prefered')
        print (prefered)
        print (type(prefered))
        user = request.user
        print (user)         
        data['success'] = True
    return JsonResponse(data)