1

POSTトルネードのデータをデータベースから削除するリクエストを使用することは可能であるように思われます。

def post(self, id):
    # delete data from db using id

また、クライアント側では、id削除したいコンテンツを含むPOSTリクエストを送信できます。これは有効なアプローチですか?

TornadoのRequestHandlerクラスにもメソッドがあることに気付きましたがdelete、それを適切に使用するにはどうすればよいですか?いくつかの例が役立ちます。

4

1 に答える 1

3

古い例を見ていなければ、tornado は削除要求をサポートしているようです。http://www.tornadoweb.org/documentation/web.html

deleteあなたが何かを使うのと同じように、私はこの方法を使います。delete メソッドを使用してハンドラーをセットアップし (おそらく and を指定id)、そのレコードが存在し、ユーザーが適切な権限を持っている場合は、そのレコードを削除します。私はトルネードを使用したことはありませんが、おそらく次のようなものです。

class WidgetHandler(RequestHandler):
    def initialize(self, database):
        self.database = database    

    def delete(self, id):
        # if user has permission to delete
        # if record exists
        # delete it

app = Application([
    (r'/widgets/([0-9]+)', WidgetHandler, dict(database=database)),
    ])

フロントで javascript/jquery/ajax を使用してリクエストを行う場合、jquery ajax は削除をサポートします。

// get your id somehow
// dynamically build url   
$.ajax({
    url: '/widgets/' + theIdYouGotSomehow,
    type: 'DELETE',
    success: function(result) {
        // Do something with the result
    }
});

コメントについては、delete メソッドで URL をヒットするだけです。/widgets/12

jqueryのドキュメントから、彼らは言う

ただし、[削除、挿入など] はすべてのブラウザーでサポートされているわけではありません。

http://api.jquery.com/jQuery.ajax/

一部のスタックオーバーフローの投稿では、すべての最新ブラウザーが削除メソッドをサポートしていると示唆しています。

于 2012-09-07T20:54:45.617 に答える