Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ajax表单在grails文件提交中冻结_Jquery_Ajax_Grails_Ajaxform - Fatal编程技术网

Jquery ajax表单在grails文件提交中冻结

Jquery ajax表单在grails文件提交中冻结,jquery,ajax,grails,ajaxform,Jquery,Ajax,Grails,Ajaxform,我正在尝试使用AjaxForm在grails应用程序中异步提交文件。对于小文件,它工作得很好,但是当我尝试处理大文件时,ajaxForm不会触发函数错误或成功。在这两种情况下(大文件和小文件),所有文件都成功地存储在服务器端。这是我的代码: var opts = { beforeSubmit: AntesEnvio, error: ErrorEnvio, uploadProgress: Progres

我正在尝试使用AjaxForm在grails应用程序中异步提交文件。对于小文件,它工作得很好,但是当我尝试处理大文件时,ajaxForm不会触发函数错误或成功。在这两种情况下(大文件和小文件),所有文件都成功地存储在服务器端。这是我的代码:

var opts = {

            beforeSubmit:   AntesEnvio,
            error:          ErrorEnvio,
            uploadProgress: ProgresoEnvio,
            success:        CorrectoEnvio

        }

$('div#modal-cargar-ficheros .upload-form').ajaxForm(opts)

function CorrectoEnvio(){

            do somethings ...

        }
function ErrorEnvio(){

            do somethings ...

        }
谁能帮帮我!! 提前谢谢

================编辑==========================

我尝试在不使用AJAX的情况下测试应用程序,同样,服务器处理所有数据,但不响应。我检查了服务器端的数据库和文件,一切正常,但当上传完文件后,浏览器会说:等待本地主机。。。永远不会结束

我的普惠制表格:

<g:uploadForm class="upload-form" method="POST"
                          controller="fileManager" action="upload">

                <div class="modal-body">

                    <div class="area-msgs">

                    </div>

                    %{-- Selector de Ficheros/Carpeta oculto --}%
                    <input name="files[]" class="upload" type="file"  id="upload-files" webkitdirectory />

                    <div class="area-seleccion">
                        <div class="boton-select pull-left">
                            <div id="select-files" class="btn btn-large" >
                                <span class="icon-folder"></span>
                            </div>
                        </div>

                        <div class="texto-cant pull-left">0 ficheros seleccionados</div>
                    </div>

                </div>

                <div class="modal-footer">
                    <g:submitButton name="btn-submit-files"
                        class="btn btn-primary"
                        value="Enviar">
                    </g:submitButton>
                </div>

            </g:uploadForm>

有什么帮助或建议吗?

您提供的信息不够。如果没有js错误,请通过进入控制台确认是否使用chrome。谢谢回答,我已经更新了我的问题。
def upload() {

        //Recibo los datos de la vista

        //Si no existe un directorio para el usuario
        //en el servidor lo creo

        def fullPath = 'uploads'            +
                        File.separator      +
                        session.user.userid +
                        File.separator


        def userFolder = new File(fullPath)
        if (!userFolder.exists()){

            userFolder.mkdirs()

        }

        //Si vienen el (los) fichero (os) hago el envío
        //al servidor

        def resp = [status: 'OK']

        request.getFiles("files[]").each { file ->

            def documentItem = new Document()
            documentItem.docName = file.originalFilename

            // Genero un numero aleatorio para evitar
            // nombres duplicados
            def num = (new Random()).nextInt(99999)
            def fileName = num + '_' + file.originalFilename

            //Si existe un fichero con ese nombre
            //vuelvo a intentarlo

            while (new File(fullPath + fileName).exists()){

                num = (new Random()).nextInt(99999)
                fileName = num + '_' + file.originalFilename

            }

            documentItem.fullPath = fullPath + fileName
            documentItem.size = FileUtilService.humanSize(file.getSize())

            //Una vez creado el nombre unico guardo
            //el fichero en el servidor
            file.transferTo( new File(documentItem.fullPath) )

            if (!documentItem.save()){

                resp = [status: 'Error']

            }

        } // --> Fin de recorrer cada fichero subido

        render resp as JSON

    }