转载地址:http://blog.csdn.net/dugulieyang/article/details/7597139
近期,我在开发中用到了文件异步上传,因此使用了ajaxfileupload,但是在使用过程中遇到了返回的JSON数据类型无法成功解析的问题,经过一天的努力,现在终于将问题解决,在此多谢那些JS大神的博文,解决方案如下(参考某大神的方案):
ajaxfileupload 是创建了个iframe,来实现异步上传文件,firebug看下iframe的内容,发现莫名其妙的加上了<pre>,难怪导致解析json数据发生错误。
将源代码
if ( type == "json" )
eval( "data = " + data );
改成:
if ( type == "json" ){
data = jQuery.parseJSON(jQuery(data).text());
}
亲测成功~
相关推荐
在使用ajaxFileUpload插件进行文件上传,尤其是图片上传时,可能会遇到与C#后端交互返回Json数据时出现的错误。本篇文章将详细解析两种常见的错误及其解决方案。 首先,错误信息一:“jQuery.handleError is not a ...
1. **JSON解析错误**:AjaxFileUpload在尝试解析服务器返回的JSON数据时,如果数据格式不正确,比如缺少引号、逗号等,就会抛出此错误。确保服务器返回的数据符合JSON规范。 2. **JavaScript语法错误**:在调整...
总结来说,这个修复版的"php+ajaxfileupload错误修正版+json"项目提供了一个完善的图片上传解决方案,它结合了jQuery的前端力量和PHP的后端处理能力,通过AJAX实现异步上传,并通过JSON进行通信,提高了用户体验。...
ajaxfileupload.js(struts2返回json后,success接收不到,修改后的版本) strust2+ajaxfileupload,成功后的回调
同时,通过设置Action的返回类型为`json`,我们可以使Struts2以JSON格式返回响应数据,这对于前端AJAX调用非常有用,因为它可以直接解析JSON数据并更新页面内容。 在前端,我们需要创建一个HTML表单,包含一个或多...
struts2+jquery+ajaxfileupload 需要正确配置struts2文件struts-xml文件中需要配置extends="json-default"。如果返回json结果需要在前台js中解析json数据,要用jquery的jQuery.parseJSON(json)。
- `dataType`:数据类型,如'json'或'html',用于解析服务器返回的结果。 - `success`:成功回调函数,接收到服务器响应时触发。 - `error`:错误回调函数,当上传失败时触发。 - `beforeSend`:发送请求前的回...
2. **服务器返回的数据格式**:`ajaxFileUpload`可能期待特定的JSON格式或字符串作为成功响应。如果服务器返回的数据不符合这些预期,即使状态码是200,也可能触发error回调。检查服务器返回的数据格式,确保符合...
dataType: 'json', // 返回的数据类型 success: function (data, status) { $("#uploadStatus").html(data.message); // 处理成功返回的信息 }, error: function (data, status, e) { alert(e); // 显示错误...
AjaxFileUpload.js 可能会期望服务器返回JSON格式的数据,以便解析并处理上传响应。 ### 5. 事件处理 该库提供了丰富的事件处理机制,如`onStart`、`onComplete`、`onProgress`和`onError`等,开发者可以通过这些...
4. **JavaScript/jQuery插件**:AjaxFileUpload是一个jQuery插件,它扩展了jQuery的功能,为文件上传提供了一个方便的接口。 5. **CSS样式表**:`ajaxfileupload.css`包含定义上传组件外观的CSS样式,如按钮样式、...
dataType: 'json', // 预期服务器返回的数据类型 success: function(data, status) { // 上传成功回调 // 处理成功返回的数据 }, error: function(data, status, e) { // 错误处理回调 handleError(e); // ...
dataType: 'xml', //预期返回的数据类型 success: function(xmlResponse) { parseXml(xmlResponse); //成功后调用的函数,用于解析XML console.log('上传成功'); }, error: function(data, status, e) { ...
**AjaxFileUpload与jQuery的JS库** 在Web开发中,实时数据交互是不...同时,JSON2.js保证了跨浏览器的JSON解析兼容性,确保数据交换的顺利进行。在实际项目中,这些库的合理运用将大大提高开发的便利性和应用的性能。
此为前端进行文件上传,使用Ajax方式提交的js插件,使用方便简洁,开发很高效。
这个修复版的AjaxFileUpload针对高版本的jQuery进行了优化和兼容性处理,解决了在处理返回的JSON数据时可能出现的问题。 首先,我们需要理解AjaxFileUpload的工作原理。它利用HTML5的FormData对象和XMLHttpRequest ...