Estou tentando enviar uma solicitação POST para meu modo de exibição Django usando javascript simples (não quero nenhuma biblioteca desnecessária envolvida). Os dados não são enviados por meio de formulário, mas por meio de fetch
. Por enquanto, eu só quero ser capaz de manipular request.POST
em meu views.py, nada mais.
Este é o meu código:
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}
})
Pitão
if request.method == 'POST':
testing = request.POST
return JsonResponse({'test': testing})
A solicitação é enviada, a csrftoken
é recebida corretamente, mas a request.POST
retorna apenas <QueryDict: {}>
, ao invés do que estou esperando (cabeçalhos, dados ...).
Eu pesquisei e encontrei muitas perguntas semelhantes, a mais semelhante sendo esta , mas ainda não consigo encontrar uma solução.
Qualquer ideia?
A request.POST
contém apenas os parâmetros que são forma codificada . Como seu tipo de dados é, application/json
eles estão vazios. O request.body
contém os dados json reais.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras