gpt4 book ai didi

Django + AngularJS + ajax POST = 奇怪的 QueryDict

转载 作者:行者123 更新时间:2023-12-02 02:02:02 25 4
gpt4 key购买 nike

services.js 我有:

return $resource('/item', {name: 'myname'}, {
make_POST: {
method: 'POST',
},
make_GET: {
method: 'GET',
}
});

views.py中:

@ajax_request
def v_item(request):
if request.method == 'POST':
return {'success': request.POST['name']}
return {'success': request.GET['name']}

当我执行 make_GET 时,一切正常。但是当我执行 make_POST 时,我得到了这个:

"Key 'name' not found in <QueryDict: {u'{}': [u'']}>"

我做错了什么?

更新:我发现,如果我在调用 make_POST 时发送参数,则 POST 有效:

Item.make_POST({name: 'myname'}, function(response) {
$scope.success_POST = response.success;
});

然后在 views.py 中做这样的技巧:

return {'success': json.loads(request.raw_post_data)['name']}

但是为什么$resource 的参数没有发送呢?

最佳答案

因为 Angular 会将你的请求序列化为 json 并将 json 发送到服务器,而不是表单编码数据

关于Django + AngularJS + ajax POST = 奇怪的 QueryDict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16791758/

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