ajax利用formData上传文件

var formData = new FormData();
if($("#memberPhoto").val() != null && $("#memberPhoto").val() != ''){
	var memberPhoto=  document.getElementById("memberPhoto").files[0];
	formData.append("memberPhoto",memberPhoto);
}
var id = $("#id").val();
var downloads = $("#downloads1").val();

formData.append("id", id);
formData.append("downloads", downloads);

$("input[name='memberflag']:checked").each(function(i){
	arr[i] = $(this).val();
});
var memberflag = arr.join(",");    //会员类型
formData.append("memberflag", memberflag);
$.ajax({
	url:"",
	data: formData,
	type: "post",
	dataType: "json",
	contentType: false, //不设置内容类型
	processData: false, //不处理数据
	success:function(data){
		
	},
	error:function(){
		alert("服务器异常");
	}
});

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Ajax异步上传实现文件上传的示例代码: HTML代码: ```html <form id="uploadForm" enctype="multipart/form-data"> <input type="file" name="file"> <button type="submit">上传</button> </form> ``` JavaScript代码: ```javascript // 获取表单元素和文件输入框 var form = document.getElementById('uploadForm'); var fileInput = form.querySelector('input[type="file"]'); // 监听表单提交事件 form.addEventListener('submit', function(event) { // 阻止表单默认提交事件 event.preventDefault(); // 创建FormData对象,将文件内容打包 var formData = new FormData(); formData.append('file', fileInput.files[0]); // 创建XMLHttpRequest对象 var xhr = new XMLHttpRequest(); // 监听上传进度事件 xhr.upload.addEventListener('progress', function(event) { if (event.lengthComputable) { // 计算上传进度百分比 var percent = Math.round((event.loaded / event.total) * 100); console.log('上传进度:' + percent + '%'); } }); // 监听上传完成事件 xhr.addEventListener('load', function(event) { console.log('上传完成'); }); // 监听上传错误事件 xhr.addEventListener('error', function(event) { console.log('上传出错'); }); // 发送Ajax请求,上传文件 xhr.open('POST', '/upload', true); xhr.send(formData); }); ``` 在上面的示例代码中,我们首先获取表单元素和文件输入框,然后监听表单提交事件,在事件处理函数中创建FormData对象,将文件内容打包后发送到服务器端。在创建XMLHttpRequest对象后,我们还监听了上传进度、上传完成和上传错误等事件,以便及时获取上传状态。最后,我们打开POST请求并发送FormData对象,实现了文件的异步上传。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值