从 Django 中的 post 请求中获取数据非表单数据

Get data non form data from post request in django

我尝试提交更改数据并根据 POST 请求的数据更改视图的响应。

      $.ajax({
        url: $basicAnalysisChart.data("url"),
        type: "POST",
        headers:{
        "X-CSRFToken": csrftoken
    },
        dataType: "json",
        contentType: 'application/json; charset=utf-8',
        data:{
            selector1:$("#Select1").val(),
            selector2:$("#Select2").val()
        },

我尝试使用 request.POST.get("Select1", "") request.POST.get("selector1", "") 获取我认为的数据,但无法正常工作。

因为你的数据类型是JSON,在django中你应该说

data = request.body

而不是:

request.POST.get("Select1", "")

来自文档:“如果您需要访问请求中发布的原始数据或非表单数据,请改为通过 HttpRequest.body 属性进行访问。”

这里是 link 文档:https://docs.djangoproject.com/en/3.2/ref/request-response/#django.http.HttpRequest.POST

我没有正确格式化 json 对象,所以它无法工作。问题已解决