JQuery异步post上传表单数据【标准化模板】

HTML代码

<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代码

$("#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数据处理

@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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值