Come utilizzare il metodo HTTP DELETE su Google App Engine?
-
25-09-2019 - |
Domanda
posso usare questo verbo in Python di Windows SDK. Ma non in produzione. Perché? Che cosa sto facendo di sbagliato?
Il messaggio di errore include (visto solo tramite Firebug o violinista)
richiesta non valida
o qualcosa del genere
I miei sguardi codice come:
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)
Soluzione
Il tuo aspetto gestore OK, sei sicuro che stai inviando la richiesta correttamente? Utilizzando jQuery, questo funziona per me (sia utilizzando dev_appserver e Google App Engine di produzione):
$('#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'invio di un corpo di risposta / messaggio non ha funzionato per me (per esempio il "permesso negato" messaggio nel mio esempio non sarà possibile ottenere al cliente). Hai verificato i tuoi articoli non vengono eliminati?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow