是啊,平常如果业务需求没有接触到上传文件的话,只是传一些表单的字段的话,确实在使用JQuery里面的$.ajax方法,就会遇到些问题了,比如不动怎么使用啊,为什么上传不了文件的这一系列的问题,那么我们该怎么办呢,不着急,且听野人慢慢将来,教你怎么写,就可以正确的上传文件了。
首先,在JQuery里面如果你用$.ajax,默认是会把数据进行处理的,也就是转换成查询表单字符串(a=1&b=2)这类的形式。
所以,我们已经告诉$.ajax,我们正在进行文件上传的,是不需要进行转换数据的处理,而对应的代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>JQuery中的$.ajax上传文件实例代码</title>
</head>
<body>
<form onsubmit="return submitFile(this)" enctype="multipart/form-data">
文件:<input type="file" name="file" />
<input type="submit" value="提交" />
</form>
<script>
function submitFile(ele) {
let formData = new FormData(ele);
$.ajax({
type: "post",
url: "后端上传文件的API地址",
data: formData,
cache: false,
processData: false,//不处理数据
contentType: false,
})
.success(function (data) {
alert("上传成功",data);
})
.error(function () {
alert("上传失败");
});
}
</script>
</body>
</html>
上面代码中,关键的部分我也加上了注释,如果有不明白的话,欢迎讨论,留言。
发表于2022-02-27 at 10:25 沙发
这个分享,可以的。