2009-03-05 10 views
6

Estoy creando una aplicación web utilizando griales que utiliza gran cantidad de ajax.I quiere aplicar el archivo de carga utilizando ajax.I no sé cómo usar ajax para el archivo de código upload.My SGP muestra es:carga de archivos remoto en griales

<!-- code for file upload form--> 
<div id="updateArea"> 

</div> 

He intentado con y. Después de subir quiero actualizar la 'updateArea' con el resultado. En el resultado, estoy planeando mostrar detalles del archivo cargado.

+0

Echa un vistazo a [esta] (http://stackoverflow.com/a/27602218/2835520) – IgniteCoders

Respuesta

3

Cargar un archivo a través de Ajax no es realmente posible. Todavía puede cargar un archivo en segundo plano utilizando un iframe oculto y, o bien evaluar el repsonse (que está dentro del iframe) o iniciar otra llamada ajax después de que se complete la carga.

<g:form name="upload-form" action="upload" method="post" enctype="multipart/form-data" target="hidden-upload-frame"> 
    File: <input type="file" name="myFile" /> 
    <button type="submit">Upload</button> 
</g:form> 

<iframe id="hidden-upload-frame" name="hidden-upload-frame" style="display: none" onload="onUploadComplete"> 
</iframe> 

<script type="text/javascript"> 
    function onUploadComplete(e) { 
     // Handle upload complete 
     alert("upload complete"); 
     // Evaluate iframe content or fire another ajax call to get the details for the previously uploaded file 
    } 
</script> 

Otra opción es utilizar un mecanismo basado en flash carga (por ejemplo. swfupload) en lugar del iframe.

+0

respuesta Hola Siegfried Puchbauer.I intentó su iframe answer.But no funciona en Mozilla Firefox y Navegadores IE. Intenté con el navegador Google Chrome. Está funcionando. ¿Cómo hacer que esto funcione en IE y Firefox? – DonX

+0

Hola. Lo siento, esto fue un error tipográfico. Normalmente tiene que definir el atributo de nombre del iframe, no el atributo id como lo hice involuntariamente. Cheers –

+0

Muchas gracias por las respuestas y la respuesta rápida. Ahora problema resuelto. – DonX