Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在Django-'中处理ajax json对象;QueryDict&x27;对象没有属性';阅读';错误_Jquery_Python_Json_Ajax_Django - Fatal编程技术网

Jquery 在Django-'中处理ajax json对象;QueryDict&x27;对象没有属性';阅读';错误

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发送到服务器时将其转换

我试图在我的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发送到服务器时将其转换为字符串?我认为你应该这样做:

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'])@爱德华德,你建议的方法也奏效了。丹尼尔,你能看到这个问题吗?