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

295
Vistas
¿Cómo incluir el token CSRF en los encabezados en la solicitud de carga de Dropzone?

Estoy trabajando en una aplicación de una sola página y estoy usando Laravel 5 para el servicio web.

Todos los formularios se envían de forma asíncrona y uso beforeSend para adjuntar el token CSRF que tomo de la metaetiqueta de la siguiente manera:

 $.ajax({ url: '/whatever/route', type: 'POST', dataType: 'JSON', data: $('form#whatever-form').serialize(), beforeSend: function(request) { return request.setRequestHeader('X-CSRF-Token', $("meta[name='token']").attr('content')); }, success: function(response){ rivets.bind($('#whateverTag'), {whateverData: response}); }, error: function(response){ } });

Todos mis formularios funcionan bien, pero la carga de dropzone no. Me devuelve una excepción TokenMismatchException . Aquí está mi código dropzone para actualizar la foto de perfil:

 $("#mydropzone").dropzone({ url: "/profile/update-photo", addRemoveLinks : true, maxFilesize: 5, dictDefaultMessage: '<span class="text-center"><span class="font-lg visible-xs-block visible-sm-block visible-lg-block"><span class="font-lg"><i class="fa fa-caret-right text-danger"></i> Drop files <span class="font-xs">to upload</span></span><span>&nbsp&nbsp<h4 class="display-inline"> (Or Click)</h4></span>', dictResponseError: 'Error uploading file!' });

He intentado poner el beforeSend aquí también:

 $("#mydropzone").dropzone({ url: "/profile/update-photo", addRemoveLinks : true, maxFilesize: 5, dictDefaultMessage: '<span class="text-center"><span class="font-lg visible-xs-block visible-sm-block visible-lg-block"><span class="font-lg"><i class="fa fa-caret-right text-danger"></i> Drop files <span class="font-xs">to upload</span></span><span>&nbsp&nbsp<h4 class="display-inline"> (Or Click)</h4></span>', dictResponseError: 'Error uploading file!', beforeSend: function(request) { return request.setRequestHeader('X-CSRF-Token', $("meta[name='token']").attr('content')); }, });

También he intentado poner un ajaxSetup global en mi archivo principal así:

 $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="token"]').attr('content') } });

Todavía no funciona. ¿Qué estoy haciendo mal? ¿Cómo puedo pasar el token CSRF en el encabezado con la carga de la zona de caída para no obtener una excepción?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Bien, entonces este código está funcionando bien ahora:

 $("#mydropzone").dropzone({ url: "/profile/update-photo", addRemoveLinks : true, maxFilesize: 5, dictDefaultMessage: '<span class="text-center"><span class="font-lg visible-xs-block visible-sm-block visible-lg-block"><span class="font-lg"><i class="fa fa-caret-right text-danger"></i> Drop files <span class="font-xs">to upload</span></span><span>&nbsp&nbsp<h4 class="display-inline"> (Or Click)</h4></span>', dictResponseError: 'Error uploading file!', headers: { 'X-CSRF-TOKEN': $('meta[name="token"]').attr('content') } });

Básicamente, necesitaba agregar el X-CSRFToken en el encabezado de la solicitud de Dropzone. Funciona como el encanto ahora.

over 4 years ago · Santiago Trujillo Denunciar

0

Puede agregar un token csrf para cada solicitud de jquery ajax dentro de su aplicación con este código.

 $.ajaxSetup({ headers: { 'X-CSRF-Token': $('meta[name="_token"]').attr('content') } });
over 4 years ago · Santiago Trujillo Denunciar

0

Esto también funciona bastante bien:

 $("#mydropzone").dropzone({ url: "/profile/update-photo", addRemoveLinks : true, maxFilesize: 5, dictResponseError: 'Error uploading file!', headers: { 'X-CSRF-Token': $('input[name="authenticity_token"]').val() } });
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