在jquery中,使用ajax上传文件和文本

时间:2023-03-08 19:59:18
在jquery中,使用ajax上传文件和文本
function onSubmit (data) {
//获取文本
var callingContent = $('#callingContent').val() // 获取文件
var files = $("#selected_files")[0].files[0]; //把文本和文件都存入formData,再发送ajax上传
var formData = new FormData();
formData.append('file', files);
formData.append('text', callingContent);
console.log(formData) $.ajax({
url: '/webcall/import_excel',
type: 'POST',
cache: false,
data: formData,
processData: false,
contentType: false,
mimeType: "multipart/form-data"
}).done(function(res) {
res = JSON.parse(res)
if (res.code == 0) {
var data = res.data[0];
console.log(data)
localStorage.setItem("callingData", JSON.stringify(data))
$('#calling-submit').removeClass('layui-btn-disabled')
$('#calling-submit').addClass('layui-btn-primary')
$('#calling-submit').addClass('active')
$('#calling-submit').on('click', startCalling)
} else {
layer.open({
type: 1
,offset: 'auto'
,id: 'layerDemoAuto1' //防止重复弹出
,content: '<div style="padding: 20px 100px;">导入名单失败,请重试</div>'
,btn: '确认'
,btnAlign: 'c' //按钮居中
,shade: 0 //不显示遮罩
,yes: function(){
layer.closeAll();
}
});
}
}).fail(function(res) {
layer.open({
type: 1
,offset: 'auto'
,id: 'layerDemoAuto1' //防止重复弹出
,content: '<div style="padding: 20px 100px;">导入名单失败,请重试</div>'
,btn: '确认'
,btnAlign: 'c' //按钮居中
,shade: 0 //不显示遮罩
,yes: function(){
layer.closeAll();
}
});
});
return false;
}

注意,需要返回的都要存入formdata中!