2017-07-02 9 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ではないので、私はルートが存在することを確信しています。 @raushankumar –

+0

'add_dashboard'関数にelse caseを追加するとどうなりますか?コンソールにエラーが記録されていますか? – JacobIRR

答えて

0

あなたの問題は、何らかの真のウェブレスポンスを返すのではなく、単に「成功」​​という文字列を返すことだと思います。あなたはフラスコ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") 
関連する問題