1.如题三种情况都有时的写法:
var formData = new FormData();
formData.append("普通数据名1",普通数据);
formData.append('单个文件名',document.getElementById(单个文件选择的input的id).files[0]);
//文件数组
if(document.getElementById('img1-select').files[0]){
formData.append('多个文件名[]',document.getElementById('img1-select').files[0]);
}
if(document.getElementById('img2-select').files[0]){
formData.append('多个文件名[]',document.getElementById('img2-select').files[0]);}
if(document.getElementById('img3-select').files[0]){
formData.append('多个文件名[]',document.getElementById('img2-select').files[0]);
}
for(var k in product_img_files){ //文件数组
formData.append('product[]',product_img_files[k]);
}
$.ajax({
url : "接口地址",
type : 'POST',
data : formData,
// 告诉jQuery不要去处理发送的数据
processData : false,
// 告诉jQuery不要去设置Content-Type请求头
contentType : false,
success:function (data) {
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert(JSON.parse(XMLHttpRequest.responseText).msg);
}
});
2.仅传普通数据时的写法:
$.ajax({
type: "POST",
url: "接口地址",
data:{
需传的参数名1:需传的参数值1,
需传的参数名2:需传的参数值2,
},
success:function (data) {
//可能会用到e.js的模板引擎
var tem1=document.getElementById("temp1").innerHTML;
var html1=ejs.render(tem1,{data:data.?});
document.getElementById("temp1-container").innerHTML = html1;
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert(JSON.parse(XMLHttpRequest.responseText).msg);
}
});
相关文章: