Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法在视图中获取Ajax Post数据_Python_Jquery_Ajax_Django - Fatal编程技术网

Python 无法在视图中获取Ajax Post数据

Python 无法在视图中获取Ajax Post数据,python,jquery,ajax,django,Python,Jquery,Ajax,Django,我正在发送一个查看的post请求。一切正常,但ajax不发送任何数据。在ajax调用中,我选中了一个变量,该变量存在数据,但在视图中发送数据时不存在数据 我的ajax是 $.post({ url: '/projpost/message/{{project.id}}', data: { 'message': message }, suc

我正在发送一个查看的post请求。一切正常,但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'
尝试:


但是如果您发现request.POST是空的,那么您只能处理请求,而不能处理request.POST

数据位于
request.data


request.POST
仅在提交表单时或将标题设置为表单提交时填充。

为什么在POST请求中会出现这种情况?感谢Zollie现在收到的消息:)使用AJAX或javascript POST方法,您必须在Django中以不同的方式接收和处理数据,这与普通HTTP请求不同。
@csrf_exempt
def message(request,id):
    print(request.POST.get('message'))
    # or print(request.POST.get('message', ''))
    return HttpResponse(content_type="application/json" )