如何在Google App Engine上使用HTTP方法DELETE?
问题描述:
我可以在Python Windows SDK中使用这个动词。但不在生产中。为什么?我究竟做错了什么?如何在Google App Engine上使用HTTP方法DELETE?
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)
答
:
该错误消息包括
格式错误的请求
或类似的东西
我的代码看起来像(只能通过萤火或提琴手看到的)你的处理程序看起来很好,你确定你正在发送这些请求t正确吗?使用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')
发送响应体/消息并没有为我工作(例如:拒绝“权限”在我的例子邮件将不到客户)。你有没有验证你的物品没有被删除?
你说你在生产中看到这个,是吗?请求日志在生产管理控制台中说什么?有几种可能的例外条件是您的代码无法处理,如果代码崩溃,您会看到一些有关它的信息。 此外,查看发送给AppEngine的实际请求将非常有帮助。 – 2010-03-08 15:07:10
@Adam我在管理控制台中什么都看不到,只是老的错误。 – 2010-03-08 15:48:29
然后,它会出现,请求甚至没有一直到请求处理程序,所以这不是问题所在。你可以在你的问题的正文中发布实际请求吗? – 2010-03-08 15:50:53