6

目前正在使用 spring MVC 框架开发 dropzone 功能。

这是控制器类中的方法(我使用的是内部视图解析器)

 @RequestMapping(value = "/save", method = RequestMethod.POST, produces = "application/json")
        @ResponseBody
        public String save(MultipartHttpServletRequest request,
                HttpServletResponse response, Model map) {
//The logic for adding file to db and creation of json object here
.....
.....

userDataJSON = strWriter.toString();
return userDataJSON;

}

这是我用于 dropzone 上传的 javascript

Dropzone.options.myAwesomeDropzone = {          

        maxFilesize : 2,
        addRemoveLinks : true,          
        uploadMultiple : true,          
        init : function() {     
            this.on("addedfile", function(file) {                               
                $.ajax({
                method  : 'get'             
                }).done(function( data, textStatus, xhr ) {                 
                    alert(data);
                    //Expecting the json objec here

                });
            });  
        }
};

在这里,我没有从控制器获得 json 响应。

如果您对我有任何解决方案,请告诉我。提前致谢。

4

1 回答 1

17

我相信默认情况下,dropzonejs 正在对您的文件执行 ajax 请求。

    $("#uploader").dropzone({ 
        url: "/upload.php",
        maxFilesize: 3,
        init: function() {
            this.on("success", function(file, response) {
                var obj = jQuery.parseJSON(response)
                console.log(obj);
            })
        }
    });

url 参数是通过 ajax 调用得到的,响应(在 console.log 中)是从 /upload.php 返回的

于 2014-06-24T14:50:02.863 回答