[英]Django: reconstruct structured parameters sent via $.post
我正在發送一個帶有結構化帖子數據的 Ajax 請求(使用 jQuery):
$.post(
myUrl,
{
items: [{code: 'a', description: 'aaa'},
{code: 'b', description: 'bbb'}]
})
我在request.POST
看到的是:
<QueryDict: {u'items[0][code]': [u'a'],
u'items[0][description]': [u'aaa'],
u'items[1][description]': [u'bbb'],
u'items[1][code]': [u'b']}>
我如何處理獲取原始items
的請求?
(注意request.POST.get('items')
不起作用)
我建議您將對象發布為 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")
我為 Django/Python 制作了特殊的庫來處理通過請求發送的結構化數據。 你可以找到它在GitHub上這里。
你可以試試:
request.POST.getlist('items')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.