【问题标题】:Get data non form data from post request in django [closed]从 django 中的发布请求中获取数据非表单数据 [关闭]
【发布时间】:2021-11-01 01:55:29
【问题描述】:

我尝试提交有关更改的数据,并根据来自 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", "") 在我的视图中获取该数据,但无法正常工作。

【问题讨论】:

    标签: python jquery django ajax post


    【解决方案1】:

    由于你的数据类型是 JSON,在 django 中你应该说

    data = request.body
    
    

    代替:

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

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

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

    【讨论】:

    • 但如果我这样做,我只会得到``` b'[object Object]' ```作为数据。我找不到任何关于如何从那里开始的信息
    • 好吧,那是另一个问题。请在 Django 中搜索 request.body 的处理。这是一个关于此主题的问题:stackoverflow.com/questions/29514077/…
    【解决方案2】:

    我没有正确格式化 json 对象,所以它不能工作。问题解决了

    【讨论】:

    • 请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。
    • ...它对未来/其他读者没有帮助。比如,你原来的 JSON 对象有什么问题?你是如何正确格式化的?
    猜你喜欢
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多