2016-03-25 5 views
0

JavaScriptのURLの中でパラメータを渡すにはどうすればよいですか? 私はこのようなケースがあります:jqueryでURLを使用するとメソッドが使用できない

/admin/users/delete/%27%20+%20user_id%20+%27 

どのように渡す必要があります。

$('.btn-delete').click(function() { 
    var user_id = $(this).attr('userid'); 
    console.log(user_id); 
    $('#modal-form').attr('action', "{{ url_for('admin.delete_user' , id="' + user_id +'") }}"); 
}); 

user_id変数は、私がこのように行う場合、私はMethod Not Allowed because URLは次のようになり得る値56f52ea551d72027711157d6

を持っていますこの部分の議論?

$('#modal-form').attr('action', "{{ url_for('admin.delete_user' , id="' + user_id +'") }}"); 

誰か助けてください。

編集: 私はpythonでルートadmin.delete_userでの使用方法は次のとおりです。

mod_admin.add_url_rule('/users/delete/<string:id>', methods=['GET']) 
def delete_user(self, id): 
    mongo.db.users.remove({'_id': ObjectId(id)}) 
    return redirect(url_for('admin.users')) 

モーダルポップアップ:

<div class="modal fade" id="myModal" role="dialog"> 
<div class="modal-dialog modal-sm"> 
    <div class="modal-content"> 
    <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">&times;</button> 
     <h4 class="modal-title"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span></h4> 
    </div> 
    <form id="modal-form" action=" " method="POST"> 
    <div class="modal-body"> 
     <p>Are you sure?</p> 
    </div> 
    <div class="modal-footer"> 
      <button type="button" class="btn btn-default btn-sm btn-style" data-dismiss="modal">Cancel</button> 
      <button type="submit" class="btn btn-default btn-sm btn-filter-apply btn-style" >Yes</button> 
    </div> 
    </form> 
    </div> 
</div> 

答えて

1

テンプレート{{ }}が評価されているのでjinjaによって、の前にの文字列に変換されます。ブラウザはそれを見たことがないので、あなたは必要ありません表示されているようにすべての文字列を連結します。 idパラメータは、標準のキーワード引数として渡す必要があります。あなたはまた、user_idが実際にジャバスクリプトで定義されているので、これは問題である。この

mod_admin.add_url_rule('/users/delete/<string:id>', methods=['GET', 'POST']) 

UPDATE

を更新することにより、指定されたURLへPOST要求を許可する必要があります

$('#modal-form').attr('action', "{{ url_for('admin.delete_user' , id=user_id|string) }}"); 

jajaにはuser_idにアクセスできません。これを回避するには、この方法であなたのURLを作成する必要があります。

$('#modal-form').attr('action', "{{ url_for('admin.delete_user') }}" + user_id); 
+0

私はこれを使用している場合、私はこのURL /管理者/ユーザー/右1 /管理者/ユーザー/ない/削除/ 56f52ea551d72027711157d6 – EgzEst

+0

を削除してもらいます@EgzEstその後、あなたの意見を示す必要があります。私はあなたのルートを間違って定義したと仮定しています。 – Suever

+0

私の質問を編集したことを確認してください、私はルートを追加します – EgzEst

関連する問題