HTML代码
代码语言:javascript
复制<form id="form" enctype="multipart/form-data" method="post" >
<input type="file" name="file1" id="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"><br>
<input type="text" name="l1" id="" value="1"><br>
<input type="number" name="l2" id="" value="2"><br>
<input type="checkbox" name="l3" id="" ><br>
<input type="submit" value="上传数据">
</form>
jquery代码
代码语言:javascript
复制$("#form").submit(function (e) {
e.preventDefault();//阻止表单刷新,也可以函数最后加上 return false;
var formData = new FormData($("#form")[0]);//formData对象实例化的参数必须为DOM,加上[0]jquery对象转为dom对象
$.ajax({
url:"http://0.0.0.1/api", /*接口域名地址*/
type:'post',
data: formData,
//因为传输的是formdata。必须添加下面这两行,让浏览器自动处理formdata
contentType: false,
processData: false,
//如果是跨域请求,想带上cookie,请加上下面四行
//xhrFields: {
// withCredentials: true
//},
//crossDomain: true,
success:function(res){
console.log(res);
//根据返回的JSON格式数据判断数据传输状态,这个看后端返回的啥数据,没有标准。
// if(res.data["code"]==200){
// alert('成功');
// }else if(res.data["code"]==400){
// alert('失败');
// }else{
// console.log(res);
// }
},
error:function(error){
console.log(error);
}
})
});
后端Flask数据处理
代码语言:javascript
复制@app.route('/api',methods=['GET','POST'])
def api():
# for item in request.form:
# print(item)
d1 = request.form.get("l1")
d2 = request.form.get("l2")
d3 = request.form.get("l3")
file = request.files.get('file')
print(file)
dict = {"code":200,"data":"处理完毕"}
return jsonify(dict)