gpt4 book ai didi

javascript - 在 Django View 中检索嵌套的 javascript 对象作为字典

转载 作者:行者123 更新时间:2023-11-28 21:53:05 25 4
gpt4 key购买 nike

我有一个非常简单的 View ,它接收一个包含 javascript 对象的 ajax 请求。 jquery 请求如下所示:

$.get(URL, {'kwargs': {test: 1}}, function(data){//whatever})

问题是,request.GET 现在包含一个相当奇怪的键,看起来像这样:

{'kwargs[test]': [1]}

我怎样才能成功解码呢?作为旁注,不可能事先知道 key (测试)

获得的预期格式是一个 python dict,看起来像请求中的格式。

我试过:

request.GET.get('kwargs', None)

我希望这样的结果:

{'test': 1}

但是,我没有得到,因为真正的 key 是“kwargs[test]”

编辑

我知道我可以使用某种正则表达式来完成此操作,但感觉就像“重新发明轮子”,因为这种用例并不少见

最佳答案

对于这种情况,我建议在服务器和客户端之间来回通信时使用 JSON。 JSON 旨在以统一的方式处理这些类型的嵌套结构。

看看使用 jQuery $.getJSON 功能, http://api.jquery.com/jquery.getjson/

以下是此结构的示例...

Javascript

var request_data = {kwargs: {test: 1}};
$.getJSON(URL, {data: JSON.stringify(request_data)}, function(data){//whatever})

Django

import json
def your_view(request):
my_json = json.loads(request.GET['data'])

这样做将允许您将包含 JSON 数据的请求解析为您选择的变量 (my_json)。一旦您将 json.loads() 的结果分配给您的变量,您现在将拥有一个包含已解析请求的 JSON 数据的 python 对象,您将能够相应地操作您的对象。

>>> my_json['kwargs']
{u'test': 1}

关于javascript - 在 Django View 中检索嵌套的 javascript 对象作为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27240011/

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