为什么穿回来的数据格式是json 但是.ajaxfileupload不认
为什么穿回来的数据格式是json 但是.ajaxfileupload不认rt
这是返回格式显示json
这里返回的是text格式
一下是ajax的内容 不要问我为什么写的dataType : "text",,因为写dataType :"json"走了error
希望大神能够指导一二
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
可是如果我将dataType设置成json那么按道理说就是告诉插件使用json来解析这个text.可是这个时候$.ajaxFileUpload就走了error方法,这是不是表示无法用json解析?这时候该怎么办呢?怎么解析成json??
回复
@吃瓜群众小海绵 : 那是因为你后台返回的还是json对象,不是返回的text
uploadHttpData: function( r, type ) {
var data = !type;
data = type == "xml" || data ? r.responseXML : r.responseText;
// If the type is "script", eval it in global context
if ( type == "script" )
jQuery.globalEval( data );
// Get the JavaScript object, if JSON is used.
if ( type == "json" )
eval( "data = " + data );
// evaluate scripts within html
if ( type == "html" )
jQuery("<div>").html(data).evalScripts();
return data;
},
看源码里面的这个方法,它默认把返回数据全部作为text,如果你返回的json数据,就返回json数据格式的字符串,然后他使用eval转成json数据,总而言之就是后台返回的全是text,这个dataType只是告诉插件使用什么方式解析这个text
但是如果datatype写成json数据就无法取得了直接走ajax里的error方法了 ,这里该怎么处理
dataType限制了回掉的数据格式,就算服务器给你json也会被ajax给转成text的