Cómo utilizar el método HTTP DELETE en Google App Engine?
-
25-09-2019 - |
Pregunta
Me puede usar este verbo en el SDK de Windows Python. Pero no en la producción. ¿Por qué? ¿Qué estoy haciendo mal?
El mensaje de error incluye (sólo visto a través de firebug o violinista)
solicitud mal formada
o algo por el estilo
Mi código es el siguiente:
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)
Solución
Sus miradas manejador bien, ¿estás seguro de que va a enviar la solicitud correctamente? Usando jQuery, esto funciona para mí (ambos usando dev_appserver y la producción de motores de google app):
$('#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')
El envío de un cuerpo de la respuesta / mensaje no trabajo para mí (por ejemplo, el "permiso denegado" mensaje en mi ejemplo no va a llegar al cliente). ¿Ha verificado sus artículos no se eliminan?
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow