【发布时间】:2021-11-24 00:28:46
【问题描述】:
我正在 DJANGO 上开发一个网站,但遇到了一个问题:
我的网站上有一个按钮,当它被触发时,它会发送一个 AJAX POST 请求。由于此按钮位于我网站的多个位置,因此我决定在后端的上下文处理器文件中接收 AJAX 请求。
前端的请求是这样的:
$.ajax({
method: 'POST',
headers: {'X-CSRFToken': csrftoken},
data: {
"requested_item": requested_item
},
dataType: "json",
success: function() {
// Handle success
}
});
这就是后端请求处理的样子:
requested_item = request.POST.get('requested_item')
if requested_item != None:
# Handle valid request
return JsonResponse({'success': True})
问题是,return JsonResponse({'success': True}) 不起作用,它会抛出这个错误:
File "*path*\virtual-env\lib\site-packages\django\template\context.py", line 244, in bind_template
updates.update(processor(self.request))
ValueError: dictionary update sequence element #0 has length 17; 2 is required
数据从前端到后端没有任何问题到达,但我似乎无法响应。
我在后端以相同的方式处理多个 AJAX 请求并且响应没有问题,但这是我在上下文处理器中处理的唯一一个,所以我确定我缺少一些东西。
谢谢!
【问题讨论】:
-
显示请求处理的完整代码。
-
应更新问题以包含所需行为、特定问题或错误以及重现问题所需的最短代码。
标签: javascript python django ajax web