2012-09-07 56 views
1

在我看來,它是用一個POST請求,從數據庫中龍捲風刪除數據是可行的:使用Tornado中的POST請求刪除數據?

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

而在客戶端,我們可以發送與所需id後要求,且內容被刪除。這是一種有效的方法嗎?

我注意到在Tornado的RequestHandler類中也有delete方法,但我應該如何正確使用它?一些例子會有幫助。

回答

1

除非我看着過時的exmplae,它看起來像龍捲風支持刪除請求。 http://www.tornadoweb.org/documentation/web.html

我會像使用任何東西一樣使用delete方法。使用delete方法設置處理程序(可能指定和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/

一些計算器帖子建議所有現代瀏覽器都支持的刪除方法。

+1

謝謝。關於前端部分的兩個問題:1.如何在JQuery'ajax'函數中指定要刪除的'id'? 2.是否所有瀏覽器支持「DELETE」? – skyork

+0

偉大的答案,謝謝! – skyork