ajaxfileupload 异步上传图片返回无法进入error,控制台打印报错如下:
Uncaught TypeError: Object function (a,b){return new e.fn.init(a,b,h)} has no method 'handleError'
主要是jquery版本的问题,需要更高的jquery版本
后来通过想ajaxfileupload.js加入如下代码解决
?
?
handleError: function( s, xhr, status, e ) { // If a local callback was specified, fire it if ( s.error ) { s.error.call( s.context || window, xhr, status, e ); } // Fire the global callback if ( s.global ) { (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] ); } },?
?
如果无法进入success,看看是否是dataType 的类型返回不匹配
我遇到的情况是dataType='json';
后台返回数据代码如下:
?
Gson gson = new Gson(); Map map = new HashMap(); map.put("photoId", photo.getPhotoId()); map.put("photopath", TargetCommentsPhotopathHelper.getPhotopath_x200(photo.getPath())); String gsonStr = gson.toJson(map); PrintWriter out = response.getWriter(); out.print(gsonStr);?
这样js会进error,不进success,主要是json返回的数据结构不对,可以让返回正确结构或修改dataType='text';再自行解析