Django:重建通过$ .post发送的结构化参数
我正在发送带有结构化后期数据的Ajax请求(带有jQuery):
$.post( myUrl, { items: [{code: 'a', description: 'aaa'}, {code: 'b', description: 'bbb'}] })
我在request.POST
看到的是:
如何处理获取原始items
的请求?
(请注意, request.POST.get('items')
不起作用)
我为Django / Python创建了一个特殊的库来处理通过请求发送的结构化数据。 你可以在GitHub上找到它。
我建议您将对象发布为JSON。 在Django中,您可以通过将JSON解析为python对象来重新创建结构。
使用jQuery发布JSON
$.post( myUrl, JSON.stringify({ items: [{code: 'a', description: 'aaa'}, {code: 'b', description: 'bbb'}] }) )
在Django视图中解析JSON
from django.http import HttpResponse from django.utils import simplejson def my_view(request): if request.method == 'POST': json_data = simplejson.loads(request.raw_post_data) # json_data contains your objects print json_data['items'] return HttpResponse("Got data")