gpt4 book ai didi

python - 解析在 Django 中使用 Ajax GET 方法发送的 json 对象

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:35 25 4
gpt4 key购买 nike

我已经创建了一个应该由 Django 处理的 Ajax 请求:

var tracks = [{'artist':'xxx', 'track':'yyy', 'duration':100},
{'artist':'xxx', 'track':'yyy', 'duration':100},
{'artist':'xxx', 'track':'yyy', 'duration':100}];
$.ajax({
type: 'GET',
url: ROOT_URL + '/snv/',
data: {tracks: tracks},
dataType: 'json'
}).done(function (data) {
// do something
}).fail(function (data) {
// do something else
});

我有一个 Python 函数来检索该数据:

def snv(request):
for track in request.GET:
print track

但是这个函数会打印类似这样的东西:

tracks[1][artist]
tracks[0][track]
tracks[0][duration]
tracks[2][artist]
tracks[1][track]
tracks[1][duration]
tracks[2][duration]
tracks[0][artist]
tracks[2][track]

如果我打印 request.GET 我得到这个:

<QueryDict: {u'tracks[1][artist]': [u'Artist 02'], u'tracks[0][track]': [u'title 00'], u'tracks[0][duration]': [u'202'], u'tracks[2][artist]': [u'Artist 04'], u'tracks[1][track]': [u'title 02'], u'tracks[1][duration]': [u'506'], u'tracks[2][duration]': [u'233'], u'tracks[0][artist]': [u'Artist 00'], u'tracks[2][track]': [u'title 04']}>

如何正确处理我的对象?

最佳答案

可以使用json编码解决:

用javascript编码

data: {tracks: JSON.stringify(tracks)}

在 View 中解码

tracks = json.loads(request.POST.get('tracks'))

这样你就可以避免第 3 方解析器:)

关于python - 解析在 Django 中使用 Ajax GET 方法发送的 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19344468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com