gpt4 book ai didi

Jquery Ajax 发布到 Django View

转载 作者:行者123 更新时间:2023-12-03 22:37:36 24 4
gpt4 key购买 nike

我正在尝试找出将发布数据发送到 Django View 函数的最佳方法。

我的 jquery 代码中当前的内容是这样的:

var name = 'Joe';
var age = 20;

$.ajax({
url:"/do_something/",
type: "POST",
data: {name: name, age: age},
success:function(response){},
complete:function(){},
error:function (xhr, textStatus, thrownError){
alert("error doing something");
}
});

数据以 QueryDict 对象形式到达 Django:

<QueryDict: {u'name': [u'Joe'], u'age': [u'20']}>

在 View 函数中,我可以访问如下值:

def do_something(request):
if request.POST:
name = request.POST.getlist('name')[0]
age = request.POST.getlist('age')[0]

作为将 post 数据从 jquery 传递到 django 的方式,这感觉有点不对劲(通过 getlist 访问 post 数据,然后获取列表中的第一个元素)。有更好的方式发送数据吗?

最佳答案

这可能是执行此操作的“正确方法”,尽管它并不轻松。

您可以使用 [] 表示法从 HttpRequest 对象的 POST 列表中读取 JSON 数据,例如:

JSONdata = request.POST['data']

然后解码 JSON 数据:

dict = simplejson.JSONDecoder().decode( JSONdata ) 

最终你的所有 JSON 数据都在 dict 变量中。用法示例:

username = dict['name']

关于Jquery Ajax 发布到 Django View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7753073/

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