【问题标题】:How to get the JSON reponse in drop zone ajax call如何在放置区 ajax 调用中获取 JSON 响应
【发布时间】:2013-11-06 06:44:22
【问题描述】:

目前正在使用 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 响应。

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

【问题讨论】:

  • 请提供更多详细信息...使用控制台检查错误并检查 ajax 请求
  • 当我们调试和检查日志时,我们在响应中看到了整个 html 页面,而不是来自控制器的 json 响应。
  • 请求的 URL 是否正确? $.ajax 中没有 url 属性似乎很奇怪,除非您有全局设置
  • 我们在表单中提到了url,所以当我们在dragzone区域拖放文件时,我们应该得到控制器保存的响应(可以在上面的代码中看到)。我们有 save.html,如果控件找到文件保存,它将发送响应。但在我们的例子中,我们在响应中获取了 html 文件
  • 好的...不管什么形式说...而且我不熟悉您使用的任何插件,$.ajax 需要在全局设置或每次调用中设置一个 url。假设对请求更正网址的回答是肯定的?

标签: jquery ajax dropzone.js


【解决方案1】:

我相信默认情况下,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 返回的

【讨论】:

  • 如果你的 json 是有效的,那么你就不需要 parseJSON 你可以直接从中获取数据
猜你喜欢
  • 2013-08-08
  • 2018-11-15
  • 1970-01-01
  • 2018-10-25
  • 1970-01-01
  • 1970-01-01
  • 2020-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多