关于ajax的processData,百度了一下有的博客写
这里其实是错的,默认值是为true,但是设置为true的时候,jquery 会将数据序列化,所以使用 ajax 上传文件时,这里建议使用processData: false
$.ajax({url:`${_this.url}/yoteam/2/services/WuChangPipe/professions/urban/case/upload?token=${token}&t=${time}&number=&field=`,data:sendData,type:"POST",contentType:false,processData:false,success:function(res){res = JSON.parse(res)params.form['上报现场多媒体'] = res.fileUrlparams = JSON.stringify(params)_this.setForm(token,params)}})
官方文档解释
这里翻译过来的大概意思是:
默认情况下,作为对象传递给data选项的数据(从技术上讲,不是字符串)将被处理并转换为查询字符串,以适合默认的内容类型“ application / x-www-form-urlencoded” 。 如果要发送DOMDocument或其他未处理的数据,请将此选项设置为false。
简单来说,当processData: true的时候,jquery会序列化数据。当processData: false的时候,jquery不会对数据进行处理。
3. 最后:百度的也不一定是对的,建议还是去官方文档看准确
