1

在我看来,使用POST请求从数据库中删除 Tornado 中的数据是可行的:

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

在客户端,我们可以发送一个发布请求,id其中包含要删除的内容。这是一种有效的方法吗?

我注意到deleteTornado 的 RequestHandler 类中也有一个方法,但是我应该如何正确使用它呢?一些例子会有所帮助。

4

1 回答 1

3

除非我正在查看过时的示例,否则龙卷风似乎支持删除请求。http://www.tornadoweb.org/documentation/web.html

我会delete像使用任何东西一样使用该方法。使用 delete 方法(可能指定 and )设置处理程序,id然后如果该记录存​​在并且用户具有适当的权限,则删除该记录。我从未使用过 Tornado,但可能是这样的:

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 文档中他们说

但并非所有浏览器都支持它们 [delete, put, etc]。

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

一些 stackoverflow 帖子建议所有现代浏览器都支持删除方法。

于 2012-09-07T20:54:45.617 回答