2017-07-02 147 views
1

我正在嘗試使用燒瓶提交HTML表單。但是,它給了我錯誤的請求錯誤(400)。我無法弄清楚是什麼問題。 這裏是我的HTML代碼:燒瓶 - 表單提交時出現錯誤請求錯誤

<div class="modal-body"> 

       <!-- content goes here --> 
       <form class="add-user-form" name="add-user-form"> 
        <div class="form-group" > 
         <label for="username">Email address</label> 
         <input type="email" class="form-control" name="username" id="username" placeholder="Enter email"> 
        </div> 
        <div class="form-group"> 
         <label for="password">Password</label> 
         <input type="password" class="form-control" name="password" id="password" placeholder="Password"> 
        </div> 
        <div class="form-group"> 
         <label for="brandName">Brand Name</label> 
         <input type="text" class="form-control" name="brandName" id="brandName" placeholder="Brand Name"> 
        </div> 
        <div class="form-group"> 
         <label for="status">Status</label> 
         <input type="text" class="form-control" name="status" id="status" placeholder="Status"> 
        </div> 
        <div class="form-group"> 
         <label for="msgDashboard">Message on Dashboard</label> 
         <input type="text" class="form-control" name="msgDashboard" id="msgDashboard" placeholder="Message on Dashboard"> 
        </div> 
        <div class="form-group"> 
         <label for="reportAccess">Report Access</label> 
         <input type="text" class="form-control" name="reportAccess" id="reportAccess" placeholder="Report Access URL"> 
        </div> 
        <button type="submit" class="btn btn-default add-user" name="add-user">Submit</button> 
       </form> 
      </div> 

這裏去JQuery的部分:

$('.add-user').click(function(event) { 
     event.preventDefault(); 
     $.ajax({ 
      url: '/add-user', 
      data: $('.add-user-form').serialize(), 
      type: 'POST', 
      success: function(response) { 
       console.log(response); 
       window.location.href = 'dashboard'; 
      }, 
      error: function(error) { 
       console.log(error); 
      } 
     }); 
    }); 

這是我的瓶代碼:

@app.route('/add-user', methods=['POST']) 
def add_dashboard(): 
    if 'username' in session: 
     user_info = DashboardUser(session['username'], db) 
     user_info.add_user(request.form['username'], request.form['password'], 
          request.form['brandName'], request.form['parentCompany'], 
          request.form['status']) 
     user_info.add_dashboard(request.form['username'], request.form['reportAccess'], request.form['msgDashboard']) 
     return "Success" 

任何人可以幫助我在這裏做錯了什麼?

+1

在萬畝燒瓶代碼,我所提到的路線。 –

+0

它的400不是404,所以我很確定路線存在。 @raushankumar –

+0

如果爲'add_dashboard'函數添加其他情況會發生什麼?你看到控制檯中記錄的錯誤嗎? – JacobIRR

回答

0

好吧,我認爲你的問題是你只是返回一個字符串「成功」,而不是返回某種真實的Web響應。

您應該使用瓶make_response方法:

from flask import make_response 

@app.route('/add-user', methods=['POST']) 
def add_dashboard(): 
    if 'username' in session: 
     user_info = DashboardUser(session['username'], db) 
     user_info.add_user(request.form['username'], request.form['password'], 
          request.form['brandName'], request.form['parentCompany'], 
          request.form['status']) 
     user_info.add_dashboard(request.form['username'], request.form['reportAccess'], request.form['msgDashboard']) 
     return make_response("Success")