我正在发送发布请求以查看。一切都很好,但是ajax没有发送任何数据。在ajax调用中,我检查了变量是否存在数据,但在视图中发送时不存在数据。
我的ajax是
$.post({
url: '/projpost/message/{{project.id}}',
data: {
'message': message
},
success: function (data) {
alert(message); //working perfect
}
});
可见
@csrf_exempt
def message(request,id):
print(request.POST['message'])
return HttpResponse(content_type="application/json" )
但是我遇到了错误
MultiValueDictKeyError at /projpost/message/5/
'message'
答案 0 :(得分:1)
尝试:
@csrf_exempt
def message(request,id):
print(request.POST.get('message'))
# or print(request.POST.get('message', ''))
return HttpResponse(content_type="application/json" )
但是,如果您发现request.POST为空,那么您将只需要处理 request ,而不是request.POST
答案 1 :(得分:1)
数据在SELECT (CASE WHEN a.promotionflag = 0 THEN 'NoPromotion'
WHEN Sales/NULLIF(Margin, 0) > -3.0000 AND (Sales)/NULLIF(Funding, 0) < 0 THEN 'RED'
WHEN Sales < 0 THEN 'RED'
WHEN Sales = 0 and Margin < 0 THEN 'RED'
WHEN Sales/NULLIF(Margin, 0) >= 0 THEN 'GREEN'
WHEN Sales IS NULL THEN 'NonPriority'
WHEN Margin IS NULL THEN 'NonPriority'
ELSE 'YELLOW'
END) AS Promotions
中。
request.data
仅在提交表单或将标题设置为看起来像表单提交时填充。