Ajax向後台發送消息分為2種情況:
- Ajax正常返回,並且返回數據格式不是很複雜
- 複雜情況,前端會將複雜 數據進行反序列化為一個JSON串
下面本人就根據這 2 種情況,在後端如何獲取數據的方法與大家分享。
第一種情況:(數據簡單)
前端:
$.ajax({
...
data: {name: 11, age: 12, xx: [11, 22, 33]}
...
})
$.post(url, data, callback)
後端:
request.POST
request.POST.get('name')
request.POST.get('age')
request.POST.get('xx')
總結:第一種方法獲取數據簡單,無需對返回的數據做過多的處理,在後端即能正常獲取。
第二種情況:(數據複雜)
前端:
$.ajax({
...
data: JSON.stringfy({name: {k1:1, k2:666}, xx: [11, 22, [11, 22, 33]]})
...
})
$.post(url, JSON.stringfy({name: {k1:1, k2:666}, xx: [11, 22, [11, 22, 33]]}), callback)
後端:
request.body
info = json.loads(request.body.decode('utf-8'))
info['name']
info['xx']
總結:面對前端傳過來的複雜數據,後端接收這些數據不能用POST接收,要用body接收該字節,再將字節轉換為字符串,就能獲取傳過來的字典。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/208867.html