如何在Google App Engine上使用HTTP方法DELETE?

时间:2010-03-07 21:21:50

标签: python google-app-engine http http-delete

我可以在Python Windows SDK中使用此动词。但不是在生产中。为什么?我做错了什么?

错误消息包括(仅通过firebug或fiddler查看)

  

格式错误的请求

或类似的东西

我的代码如下:

from google.appengine.ext import db
from google.appengine.ext import webapp

class Handler(webapp.RequestHandler):
   def delete(self):
       key = self.request.get('key')
       item = db.get(key)
       item.delete()
       self.response.out.write(key)

1 个答案:

答案 0 :(得分:3)

您的处理程序看起来没问题,您确定要正确发送请求吗?使用jQuery,这适用于我(使用dev_appserver和谷歌应用程序引擎生产):

$('#delete-button').click(function() {
    $.ajax({
        'type': 'DELETE',
        'url': '/some/url/that/handles/delete'
    })
});

class DeleteHandler(webapp.RequestHandler):

    def delete(self):
        if users.get_current_user() == allowed_user:
            the_data_model.delete()
        else:
            self.response.out.write('Permission denied')

发送响应正文/消息对我不起作用(例如,我的示例中的“权限被拒绝”消息将不会到达客户端)。您确认自己的商品未被删除吗?