【发布时间】: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