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)
È stato utile?

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
scroll top