我正在尝试使用纯javascript向我的Django视图发送POST请求(我不希望涉及任何不必要的库)。数据不是通过表单发送的,而是使用fetch
。现在我只想在我的系统中操纵request.POST
视图.py,仅此而已。你知道吗
这是我的密码:
Javascript
let article = document.querySelector('article')
articleId = article.getAttribute('data-product-id')
# some other stuff
fetch("{% url 'shop:shoplist' 1 %}", {
method: 'POST',
dataType: "application/json",
data: {'article_id': articleId},
headers: {'X-CSRFToken': csrf_token}
})
Python
if request.method == 'POST':
testing = request.POST
return JsonResponse({'test': testing})
发送请求,正确接收csrftoken
,但request.POST
只返回<QueryDict: {}>
,而不是我所期望的(头、数据…)。你知道吗
我搜索并发现了很多类似的问题,最相似的是this one,但我仍然找不到解决办法。你知道吗
你知道吗?你知道吗
尝试向
fetch
调用中的头添加“content type”(而不是dataType参数),并将数据参数更改为带有stringized对象的body:request.POST
只包含以形式编码的参数。因为您的数据类型是application/json
,所以它们是空的。request.body
包含实际的json数据。你知道吗相关问题 更多 >
编程相关推荐