Comment utiliser la méthode HTTP SUPPRIMER sur Google App Engine?
-
25-09-2019 - |
Question
Je peux utiliser ce verbe dans le SDK Python de Windows. Mais pas dans la production. Pourquoi? Qu'est-ce que je fais mal?
Le message d'erreur comprend (visible uniquement via firebug ou violoniste)
Demande malformée
ou quelque chose comme ça
Mon code ressemble à:
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)
La solution
Votre gestionnaire semble OK, êtes-vous sûr que vous envoyez correctement la demande? En utilisant jQuery, cela fonctionne pour moi (à la fois en utilisant la production de dev_appserver et Google App Engine):
$('#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')
L'envoi d'un corps / message de réponse n'a pas fonctionné pour moi (par exemple le message « autorisation refusée » dans mon exemple ne se rendre au client). Avez-vous vérifié vos articles ne sont pas supprimés?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow