909422229_ajaxFileUpload 上传返回结果docmeent,数据解析失败的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a909422229/article/details/84646212

一、ajaxFileUpload 上传使用。

问题:

文件上传成功后无法获取后台的数据,返回数据打印是ducment。

事例:一些业务性代码已经屏蔽,只展示问题代码。

下面代码在打印返回的数据不符,后台成功会返回一个 1的标记,但是打印结果是docment对象。

$.ajaxFileUpload({
	                  type: "post",
	                  contentType: "application/x-www-form-urlencoded",
	                  url : ,
	                  data: {},
	                  secureuri:false,//一般设置为false
	                  fileElementId:"file1",//文件上传空间的id属性 
	                  timeout : 10000, //超时时间设置,单位毫秒
	                  datatype: "text",
	                  success: function (data) {
                          console.log(data);
	                  	if(data == '-1'){
	                  		openPublicMessage('提示','重复!');
	                  	}else{
	                  		openPublicMessage('提示','成功');
	                  	}
	                  }
	             });

下面是:解决问题后的代码如下:

$.ajaxFileUpload({
	                  type: "post",
	                  contentType: "application/x-www-form-urlencoded",
	                  url : ,
	                  data: {},
	                  fileElementId:"file1",//文件上传空间的id属性 
	                  timeout : 10000, //超时时间设置,单位毫秒
	                  dataType: 'text',//服务器返回的数据类型。可以为xml,script,json,html。如果不填写,jQuery会自动判断。
	                  secureuri: false,   //是否启用安全提交,默认为false。
	                  async : true,   //是否是异步
	                  success: function (data) {
	                  	if(data == '-1'){
	                  		openPublicMessage('提示','重复!');
	                  	}else{
	                  		openPublicMessage('提示','成功');
	                  	}
	                  }
	             }); 

结果:

比较一下,少了一个异步属性。印象中昨天弄这个时候写了这个属性,但是也没有成功,所以就删了。。千奇百怪。

async:补充一下这个属性的意思,默认值是true,即为异步方式,$.Ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.Ajax里的success方法,这时候执行的是两个线程。若要将其设置为false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

猜你喜欢

转载自blog.csdn.net/a909422229/article/details/84646212