问题1:jQuery.handleError is not a function 原因是,经测试handlerError只在jquery-1.4.2之前的版本中存在,jquery-1.6 和1.7中都没有这个函数了,因此在1.4.2中将这个函数复制到了ajaxFileUpload.js中,问题解决
handleError: function( s, xhr, status, e ) {
// If a local callback was specified, fire it
if ( s.error ) {
s.error.call( s.context || s, xhr, status, e );
}
// Fire the global callback
if ( s.global ) {
(s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] );
}
},
问题2:一直得到error ,无法执行指定的success方法。
文件正常提交,后台接收正常,action中返回json正常,用火狐查看,响应的值也是正常的
但是,ajax调用js中,就是不走success的方法。
经过调查,是因为返回的json中,带有<pre>标签。
修正方法:
ajaxfileupload.js文件,uploadHttpData中
【eval( "data = " + data );】-->【data = jQuery.parseJSON(jQuery(data).text());】
本文详细阐述了一个AJAX调用中遇到的常见问题:无法执行指定的success方法。通过分析,发现问题是由于返回的JSON中包含非法字符<pre>导致的。解决方案是在AJAX调用的文件中进行代码修改,将原始的eval方法替换为使用jQuery解析JSON文本。这一调整确保了success方法能够正确执行,解决了前端与后端交互过程中的问题。
2045

被折叠的 条评论
为什么被折叠?



