您好,就是上次帮我解决的上传文件的问题,现在遇到一个问题就是,遇到上传图片后,后台收到的数据是空的。但是我PC和移动端都测试了,无论如何都复现不了用户的这个问题,而且只有这一个客户遇到这个问题,用户是苹果13,系统和浏览器也都是最新的。所以现在复现不了问题,就只能盲猜。
正常上传图片后,后台收到的数据是这样的:updateHkidrConsent:{"params":{"idAttatchments":[]}},但是这个用户上传,后台收到是这样:updateHkidrConsent:,什么都没有。我看了log,只有ajax请求的data参数为空,才会这样。
JSON.stringify不能处理文件类型,你这种contenttype应该不需要转的,直接就可以了。
不行的话,就换formdata的方式提交
我的jquery上传的ajax写法,可以给你参考下
/**
* 上传文件方法
* var formdata = new FormData();
* formdata.set("file", file);
*/
$.ajax({
url: url,
type: 'post',
data: formData,
dataType: "json",
cache: false,
processData: false,
contentType: false,
timeout: 20000, //超时时间设置,单位毫秒
beforeSend: function (XMLHttpRequest) {
},
success: function (data) {
}.bind(this),
error: function (data) {
}.bind(this),
complete: function (XMLHttpRequest, status) { //请求完成后最终执行参数
if (status == 'timeout') { //超时,status还有success,error等值的情况
ajax.abort();
}
}.bind(this)
});