<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>form表单上传文件</h1> {#form表单提交数据时添加enctype=“multipart/form-data"#} <form action="{% url 'upload' %}" method="post" enctype="multipart/form-data"> {% csrf_token %} 用户名:<input type="text" name="username"> 密码: <input type="password" name="password"> 头像:<input type="file" name="img"> <input type="submit" > </form> <h1>ajax文件上传</h1> <div> 用户名:<input type="text" name="ajaxname"> 密码: <input type="password" name="ajaxpwd"> 头像:<input type="file" name="img"> <input type="button" value="上传文件" id="btn"> </div> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script> {#<script src="./../static_file/jquery-3.4.1.js"></script>#} <script> $('#btn').click(function(){ var formdata = new FormData(); var uname = $('[name=ajaxname]').val(); var password = $('[passwprd=ajaxpwd]').val(); var img = $('[name=img]')[0].files[0]; var csrf_data = $('[name=csrfmiddlewaretoken]').val(); formdata.append('username',uname); formdata.append('password',password); formdata.append('img',img); formdata.append('csrfmiddlewaretoken',csrf_data); $.ajax({ url:'{% url "upload" %}', type:'post', <!--data:{不适合上传文件了。 username:uname, password:password, img:img, csrfmiddlewaretoken:csrf_data }--> data:formdata, processData:false, contentType:false, success:function(res){ console.log(res) } }) }) </script> </body> </html>
注释:
注释形式在各个使用场景的形式:
<!-- 注释代码 -->是HTML的注释标签,使用 < 和 > 是符合HTML标签语法规则的。
/* 注释代码 */是CSS的注释标签
/* 注释代码 */(注释代码块)、//注释代码 (注释单行)是JS的注释标签。