如何使用ajax实现文件上传?

我正在使用ajax的grails创建一个Web应用程序,以实现文件上传。但是我不知道如何做?我的示例GSP代码是:

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

</div>

我尝试了with和.After上传,还更新了'updateArea',下面我打算试试上传文件的详细信息。

Uploading a file via Ajax is not really possible. You can still upload a file in the background using a hidden iframe and either evaluate the repsonse (which is then inside the iframe) or fire another ajax call after the upload is complete.

<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>

Another option is to use a flash based uploading mechanism (eg. swfupload) instead of the iframe.