Flask中使用ajax提交表單刷新數據,避免提交表單后使用return render_temp()會刷新頁面
<form id ="test_form"> {{ form.hidden_tag() }} <div id="input-top"> <div class="form-group"> <label>開始日期</label> {{ form.begin_date }} <label>結束時間</label> {{ form.end_date }} </div> </div> <!--{{ form.submit(class = "querybtn",onclick="ajaxForm()") }}--><!--這里如果用這個會造成表單提交兩次,而且第二次是get會刷新頁面--> <button type="button" class = "querybtn" onclick="ajaxForm()">Click Me!</button> </form>
最下邊加一個按鈕,點擊的時候調用js中ajax的函數
ajax這邊這么寫
function ajaxForm(){ varifyinput(); var form= new FormData(document.getElementById("test_form")); $.ajax({ url:"{{ url_for('main.all_revenue') }}", type:"post", data:form, dataType: 'json', processData:false, contentType:false, success:function(data){ create_table(data.result); }, error:function(e){ alert("沒有取得數據"); } }) }
就這樣
