在 Django 视图中检索嵌套的 JavaScript 对象作为字典
Retrieve nested javascript objects in Django view as a dict
我有一个非常简单的视图,它接收一个包含javascript对象的ajax请求。jquery 请求如下所示:
$.get(URL, {'kwargs': {test: 1}}, function(data){//whatever})
问题是,请求。GET现在包含一个相当奇怪的密钥,看起来像这样:
{'kwargs[test]': [1]}
如何成功解码?作为旁注,不可能事先知道密钥(测试)
获得的预期格式是一个 python 字典,看起来像请求中的字典。
我试过:
request.GET.get('kwargs', None)
我希望结果是:
{'test': 1}
但是,我得到 None,因为真正的关键是"kwargs[测试]"
编辑
我知道我可以使用某种正则表达式来完成此操作,但它感觉就像"重新发明轮子",因为这个用例并不罕见
在这种情况下,我建议在服务器和客户端之间来回通信时使用JSON。 JSON 旨在以统一的方式处理这些类型的嵌套结构。
看看使用 jQuery $.getJSON 功能,http://api.jquery.com/jquery.getjson/
以下是此结构的外观示例...
贾夫文
var request_data = {kwargs: {test: 1}};
$.getJSON(URL, {data: JSON.stringify(request_data)}, function(data){//whatever})
姜戈
import json
def your_view(request):
my_json = json.loads(request.GET['data'])
这样做将允许您将包含 JSON 数据的请求解析为您选择的变量 (my_json)。 一旦你用json.loads()的结果分配你的变量,你现在将有一个python对象,其中包含解析的请求的JSON数据,你将能够相应地操作你的对象。
>>> my_json['kwargs']
{u'test': 1}
相关文章:
- 面向对象JavaScript中的私有函数
- 对象 Javascript 中的标签无效 - 想要添加事件列表器
- 将字符串转换为对象 javascript/jquery
- 正在检查对象javascript中是否存在嵌套属性
- 时间-日期对象JavaScript getUTCMilliseconds
- 仅在对象(javascript)中解析值
- 使用对象(JavaScript或jQuery)填充选择下拉列表
- 引用另一个对象javascript中的对象
- 如何删除列表中的对象?Javascript nodejs和下划线
- 无法从日期对象javascript获取日期和月份
- 如何在if语句中使用对象-Javascript
- 对象javascript错误
- 对象Javascript的少数实例
- 位置对象Javascript
- 将字符串传递到对象javascript中
- 获取对象Javascript或jQuery的最后一个值
- 鼠标接近对象Javascript
- 这个mixins代码是书中的错误吗;面向对象JavaScript的原理”;
- 使用闭包编译器编写更好的面向对象JavaScript完整示例代码
- 访问对象javascript数组中的对象属性值