Jquery 在Django-'中处理ajax json对象;QueryDict&x27;对象没有属性';阅读';错误
我试图在我的Django视图中解析json对象,它是由ajax通过post方法从客户端传递过来的 JS:Jquery 在Django-'中处理ajax json对象;QueryDict&x27;对象没有属性';阅读';错误,jquery,python,json,ajax,django,Jquery,Python,Json,Ajax,Django,我试图在我的Django视图中解析json对象,它是由ajax通过post方法从客户端传递过来的 JS: $.post('/update\u vendor\u products\u types/',JSON.stringify(JSON\u obj)) 视图: 期待类似的事情 3 4 request.POST用于表单编码内容。对于JSON,您应该直接访问普通正文: json_object = json.loads(request.body) 为什么在将json_obj发送到服务器时将其转换
$.post('/update\u vendor\u products\u types/',JSON.stringify(JSON\u obj))
视图:
期待类似的事情
3
4
request.POST
用于表单编码内容。对于JSON,您应该直接访问普通正文:
json_object = json.loads(request.body)
为什么在将json_obj发送到服务器时将其转换为字符串?我认为你应该这样做:
json_obj = {"key1": "value1", "key2": "value2"}
$.post('/update_vendor_merchandise_types/', json_obj)
v1 = request.POST["key1"]
在这种情况下,在服务器端,您可以通过以下方式访问发送的数据:
json_obj = {"key1": "value1", "key2": "value2"}
$.post('/update_vendor_merchandise_types/', json_obj)
v1 = request.POST["key1"]
您可以执行
json.load
将json格式转换为dict。在这里,您有一个dict要转换为json
。您要做的是json.dumps(request.POST.copy())
您实际上想做什么request.POST
是一个字典,它应该包含您实际需要的任何数据,没有任何必要说明我已经编辑了这个问题。请查看json_对象的值。我正试着绕过去。比如说,打印所有商品的id和各自的value-valuesduard,实际上,我希望循环的代码尽可能通用,并且我希望避免通过字段名来寻址json元素。相反,我的最终目标是循环它可能是您的json_obj应该如下所示:{“商品ID”:[“3”,“4”]}
,在这种情况下,您可以在服务器上通过执行ids=request.POST[“商品ID”]
Daniel,我将您的答案标记为解决方案,因为您的选项将json转换为python列表,这是最简单的循环方式(d=json.loads(request.body)for x in d:print x['products\u id'])@爱德华德,你建议的方法也奏效了。丹尼尔,你能看到这个问题吗?