flask ajax 文件上传,使用AJAX上传文件,处理并使用Flask将结果返回给Javascript

我已经弄清楚如何使用AJAX和Flask上传文件,使页面不刷新,文件上传到某个指定目录的服务器 . 在Python方法(upload())中,我想用一些正则表达式处理文件名并将数组返回到Javascript文件 . 即使我正在尝试请求数组,我仍然会返回render_template(index.html)吗?

HTML(index.html)

使用Javascript

$(function() {

$('#upload-file-btn').click(function() {

var form_data = new FormData($('#upload-file')[0]);

$.ajax({

type: 'POST',

url: '/uploadajax',

data: form_data,

contentType: false,

cache: false,

processData: false,

async: false,

success: function(data) {

console.log('Success!');

},

});

});

});

Python(烧瓶)

@app.route('/uploadajax', methods=['POST'])

def upload():

file = request.files['file']

if file and allowed_file(file.filename):

filename = secure_filename(file.filename)

file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

return render_template('index.html')

我正在玩$ .ajax {}部分之后在Javascript中添加这个AJAX调用,但我做得对吗?我不确定我是否可以在一个Javascript函数中调用两次相同的Python方法,或者是否有更好的方法来执行此操作 .

ajaxRequest = ajaxFunction()

ajax.onreadystatechange = function() {

if (ajaxRequest.readyState === 4) {

if (ajaxRequest.status === 200) {

alert(ajaxRequest.responseText) //I want the Python to put the array into this ajaxRequest.responseText variable, not sure how.

}

else

alert('Error with the XML request.')

}

}

ajaxRequest.open("GET", 'uploadajax', true);

ajaxRequest.send(null);

有帮助吗?谢谢 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值