无表单提交数据到Flask

Submit data to Flask without form

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

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

首先,您的 Flask 文件系统应该如下所示:

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

要 return 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 文件捕获。这就是它的样子:

app.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();
            }

        });