flask jquery表单验证冗余

时间:2015-06-16 03:51:51

标签: jquery ajax flask

我正在用烧瓶写一个网络应用程序。但是将Web应用程序与REST + jQuery混合在一起会让我感到有点困惑。所以我有一个页面,其中有一个用烧瓶准备的表格:

class TestForm(Form):
    start_date = DateField('Start Date:')
    end_date = DateField('End Date:')
    submit = SubmitField('Submit')

通常,此表单将在视图函数中进行验证并进行处理。但在这种情况下,由于REST API的可用性,我实际上使用jquery来进行表单提交:

$("#new_cmp").bind('click', function() {
  alert('Posting...')
  $.post("http://localhost:7000/api/v1.0/cmp",
    {
      startdate: $("#start_date").val(),
      enddate: $("#end_date").val(),
    },
    function(data, status) {
      alert(status);
    }, "json");
  return false;
}

所以Flask所做的所有验证工作都已消失。我开始认为这不是一个好主意。什么是与Flask一起使用Ajax的最佳方式?

1 个答案:

答案 0 :(得分:2)

由您决定如何在Flask中使用AJAX。 Flask的文档给出了关于AJAX usage的一些想法,但你应该考虑一些事情:

  • AJAX是客户端技术,因此您只应将其用于客户端数据表示;
  • 应该开发服务器端,理念是服务器和服务器负责检查和处理数据。

至于验证,我用于我的宠物项目WTF Forms,它提供表单创建和验证的工具。对于那些我不需要表单提交的情况,我从服务器发送JSON响应,这将向客户端显示所需的数据。您可以在post中找到一些想法。