在我看来,使用POST
请求从数据库中删除 Tornado 中的数据是可行的:
def post(self, id):
# delete data from db using id
在客户端,我们可以发送一个发布请求,id
其中包含要删除的内容。这是一种有效的方法吗?
我注意到delete
Tornado 的 RequestHandler 类中也有一个方法,但是我应该如何正确使用它呢?一些例子会有所帮助。
除非我正在查看过时的示例,否则龙卷风似乎支持删除请求。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 帖子建议所有现代浏览器都支持删除方法。