Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

491
Views
¿Por qué aparece el error "Falta el token CSRF o es incorrecto"?

Estoy tratando de devolver un valor de una función Ver en Django. Esa función se llama desde un código JavsScript usando Ajax, pero aparece un error que dice "Prohibido (falta el token CSRF o es incorrecto)".

Javascript/Ajax

El mensaje de error

El código HTML se parece a esto:

 <div align="center" class="input-line"> <form class="input-form" method="post">{% csrf_token %} <input type = "text" id = "ans" class = "form-control" name = "address" placeholder="Type postcode..."><br><br> <button id = "homeBtn" class="btn btn-primary">Find info</button><br><br> </form> </div>

La función de vista es:

 def result(request): if(request == 'POST'): param = request.form['my data'] this = runAreaReview(param) #This returns a string return HttpResponse(this)
about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Método 1

Para realizar solicitudes de publicación con ajax, debe establecer un encabezado llamado HTTP_X_CSRFTOKEN y establecer su valor en una cookie que se almacena en el navegador con el nombre csrftoken . referencia entonces en tu llamada ajax, deberías hacer algo como esto.

 var csrftoken = Cookies.get('csrftoken'); $.ajax( ... headers:{"HTTP_X_CSRF_TOKEN":csrftoken} );

también tenga en cuenta que si está utilizando algún servidor proxy inverso con algo como nginx, asegúrese de enviar este encabezado también a la aplicación django.

método 2

puede deshabilitar la verificación csrf para esta vista específica usando una anotación. Referencia

 from django.views.decorators.csrf import csrf_exempt @csrf_exempt def result(request): ...

método 3

El siguiente método NO SE RECOMIENDA por razones de seguridad

Siempre puede desactivar el middleware csrf en la configuración para deshacerse de él si solo está creando algo con fines recreativos y no para producción.

about 4 years ago · Santiago Trujillo Report

0

para cualquiera que se encuentre con este hilo, la clave HEADER debe ser X-CSRFToken como para Django 2.1, los enlaces van aquí https://docs.djangoproject.com/en/2.1/ref/csrf/

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!