首页 > 解决方案 > 无表单提交数据到 Flask

问题描述

我总是显示一个日期选择器,当我点击我检索日期但我没有成功将它发送到我的烧瓶应用程序。

HTML

 <div id="datepicker"></div>

JS

$("#datepicker").datepicker({
    dateFormat: 'dd/mm/yy'
}).on("changeDate", function (e) {
    setTimeout(function () {
            var date = $("#datepicker").datepicker('getDate');
            //SUBMIT var date
        });
});

Python

@app.route('/', methods=["GET", "POST"])
def index():
.....

    if request.method == 'POST':
        date = date from datepicker

标签: pythonflaskpostdatepicker

解决方案


首先,您的烧瓶文件系统应如下所示:

/ProjectName
  /Static
    MyJs.js
  /Templates
    index.html
  app.py

要返回 index.html,您必须在 app.py 中运行它:

from flask import Flask, render_template, request, jsonify
@app.route('/')
def index():
    return render_template('index.html')

执行此操作时,您必须拥有正确的文件结构,这一点非常重要。最后,要从您的 JS 文件发送数据,您需要做的就是将 AJAX 请求发送到不同的路由,该路由将被您的 app.py 文件捕获。这就是它的样子:

应用程序.py

@app.route('/date', methods=['POST'])
def process():
    Date = request.form['date']
$.ajax({
            data : {
                date : date
            },
            type : 'POST',
            url : '/date'
        })
        .done(function(data) {

            if (data.error) {
                $('#errorAlert').text(data.error).show();
                $('#successAlert').hide();
            }
            else {
                $('#successAlert').text(data.name).show();
                $('#errorAlert').hide();
            }

        });

推荐阅读