Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

277
Vistas
¿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)
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

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.

over 4 years ago · Santiago Trujillo Denunciar

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/

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda