从 django 中的发布请求中获取数据非表单数据 [关闭]
Posted
技术标签:
【中文标题】从 django 中的发布请求中获取数据非表单数据 [关闭]【英文标题】:Get data non form data from post request in django [closed] 【发布时间】: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", "")
在我的视图中获取该数据,但无法正常工作。
【问题讨论】:
【参考方案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 的处理。这是一个关于此主题的问题:***.com/questions/29514077/…【参考方案2】:我没有正确格式化 json 对象,所以它不能工作。问题解决了
【讨论】:
请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。 ...它对未来/其他读者没有帮助。比如,你原来的 JSON 对象有什么问题?你是如何正确格式化的?以上是关于从 django 中的发布请求中获取数据非表单数据 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章