Así que estoy usando subir archivos jquery en una aplicación de rails 3, y todo funciona muy bien, excepto en IE 9. Solo en IE9, cuando intento subir un archivo, sigo recibiendo el error "no puedo verificar el token csrf" en mi consola. Instalé Firebug lite para inspeccionarlo, y el token csrf correcto es correcto y está en el lugar correcto en el documento (y sí, tengo mi etiqueta <% = csrf_meta_tags%> en el encabezado del archivo de diseño). No estoy seguro de por qué solo está haciendo esto en IE 9, ¿alguien ha visto esto antes?No se puede verificar el token CSRF para una carga de archivos jQuery, solo IE 9, aplicación Rails 3
Q
No se puede verificar el token CSRF para una carga de archivos jQuery, solo IE 9, aplicación Rails 3
7
A
Respuesta
20
Tuve el mismo problema y el comentario anterior del PO me ayudó a encontrar la respuesta. Esto es lo que funcionó para mí:
$('#fileupload').fileupload({
... other options
formData: [
{ name: 'authenticity_token', value: $('meta[name="csrf-token"]').attr('content') }
]
});
Tenga en cuenta que el archivo de diseño (application.html.erb en Rails 3.2) debe tener lo siguiente:
<%= csrf_meta_tags %>
+0
Gracias Santosh, su solución funciona a la perfección. – datnt
Cuestiones relacionadas
- 1. + OmniAuth [ADVERTENCIA: No se puede verificar la autenticidad CSRF Token]
- 2. Jquery y Django CSRF Token
- 3. rieles muestra "ADVERTENCIA: No se puede verificar la autenticidad CSRF token" de una RestKit POSTAL
- 4. No se puede verificar la autenticidad del token de CSRF en los rieles
- 5. carga de archivos bluetooth jquery - callbacks "completos", "completos" que no funcionan para IE 9
- 6. Rails CSRF token authenticity y Devise
- 7. Desactivar token CSRF en rieles 3
- 8. Rails 3.1 - CSRF ignorado?
- 9. ¿Necesito un token CSRF para jQuery .ajax()?
- 10. token de CSRF para ajax
- 11. CSRF token no válido en la carga de la aplicación symfony2 compensada
- 12. CSRF token generation
- 13. token anti-CSRF y Javascript
- 14. token csrf usando
- 15. Rails CSRF Token's: ¿caducan?
- 16. Depurar Javascript IE 9
- 17. Rails 3 forma de varios pasos con carga de archivos
- 18. Aplicación de ejemplo para Rails 3?
- 19. Carga de archivos múltiples en Ruby on Rails 3
- 20. Forzar el modo de navegador y el modo de documento de IE 9 a IE 9
- 21. Cargando partes de una aplicación Rails 3
- 22. ¿Por qué mi JQuery no se carga en IE?
- 23. JQuery - ¿Verificar cuando se carga la imagen?
- 24. Django: CSRF token de falta o incorrecta
- 25. Obtener el token CSRF en la prueba
- 26. Carga de archivos Rails y ajax: no se puede leer la propiedad 'innerHTML' del error nulo
- 27. Rails 3 plantillas de aplicación
- 28. ¿Cómo prevenir CSRF en una aplicación RESTful?
- 29. Django CSRF Token sin formularios
- 30. CSRF Token faltante o incorrecto
dimos cuenta de que el problema está relacionado con el uso de IE cargas de transporte iframe. Traté de cambiar la opción "forceIframeTransport" a verdadero, y luego el problema anterior se replicó en Firefox y otros navegadores que no sean IE. Todavía no estoy seguro de cómo solucionarlo. En $ .ajaxSetup en el archivo jquery.iframe-transport.js, intenté alertar a la respuesta json, pero seguía arrojando errores y no me dejaba. Así que intenté "alertar" al "$ (iframe [0] .body) .text()" (que intenta analizar en json, y obtuve una respuesta realmente extraña. Así que tal vez sea un problema con json no válido, no el token csrf? – ggrillone
¡Finalmente lo entendí! El problema estaba relacionado con IE al usar cargas de transporte iframe en comparación con cargas de archivos XHR (que Firefox, Chrome y Safari usan todos). Si un navegador usa cargas de transporte iframe, el complemento hace una llamada a un método separado, que genera un iframe con una nueva forma en el DOM. Este nuevo formulario no incluía el token de autenticidad csrf, así que tuve que tomar el valor del otro formulario y anexarlo al nuevo antes de que sea enviado – ggrillone
Agregue su propia respuesta y márquela como aceptada – zykadelic