在使用bootstrap-fileinput上传文件成功后,回调函数居然没有执行:
function initUploadScreen(_dom_selected) {
_dom_selected.fileinput({
theme : 'explorer',
uploadUrl : '/page/position/util/img/input',
overwriteInitial : false,
uploadAsync: true, // 默认为true
initialPreviewAsData : true,
showCaption : true,// 是否显示标题
allowedFileExtensions : [ 'jpg' ,'jpeg', 'gif', 'png', 'bmp' ],
maxFileSize : 2000,
language : 'zh',
showUpload : false,
showRemove: true,
showCancle: false,
showPreview: false
}).on("fileuploaded", function(event, data) {
console.log(data);//没有走这步
});
};
后来发现是控制器返回的数据格式问题,只有返回json字符串才起作用,比如:
String savePath = **********;
return "{\"path\":\"" + savePath + "\"}";//可以
return "{\"path\":" + savePath + "}";//不可以
也就是只有返回json格式字符串或者一个.json文件才能触发回调函数。