600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > ajaxfileupload 返回值_ajaxfileupload上传文件 返回json数据报错的问题。

ajaxfileupload 返回值_ajaxfileupload上传文件 返回json数据报错的问题。

时间:2022-10-18 00:52:05

相关推荐

ajaxfileupload 返回值_ajaxfileupload上传文件 返回json数据报错的问题。

在使用ajaxfileupload上传文件的时候,文件上传成功了,但是返回的json数据一直解析不了。一直提示:Resource interpreted as Document but transferred with MIME type application/json,从字面上理解返回的是文档不能转换为json。但是从服务器那边返回的response里data-type确实是applicaiton/json。困扰很久,查看ajaxfileupload源代码发现,其实ajaxfileupload其实使用iframe+form的方式实现异步上传文件的,如下:

//

//穿件form表单函数

createUploadForm: function (id, fileElementId, data) {

//create form

var formId = 'jUploadForm' + id;

var fileId = 'jUploadFile' + id;

var form = jQuery('

');

//上传调用接口

ajaxFileUpload: function (s) {

// TODO introduce global settings, allowing the client to modify them for all requests, not only timeout

s = jQuery.extend({}, jQuery.ajaxSettings, s);

var id = s.fileElementId;

var form = jQuery.createUploadForm(id, s.fileElementId, s.data); //创建form表单

var io = jQuery.createUploadIframe(id, s.secureuri);//创建Iframe

知道了上传流程,明白了问题出现在哪里了,是用Iframe的时候,返回的时候会添加上html和body标签。jquery不能直接解析的话,只能自己解析了。

ajaxfileupload调用的时候dataType不用设置,使用默认text/html.返回的数据作处理:

var str = $(data).find("body").text();//获取返回的字符串

var json = $.parseJSON(str);//把字符串转化为json对象

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。