1

我在 webapp2 delete http 方法中检索查询字符串时遇到问题。我不能self.request.get('my_query_string')用来获取特定的查询字符串。你如何从删除方法中检索它?

在客户端,我有以下 javascript 代码来发送 http 请求:

function send_http(value1, value2) {
    $.ajax({
        type: 'DELETE',
        url: '/path/to/my/handler'
        data: {key1: value1, key2: value2}
    });
}

在 GAE webapp2 中,我的处理程序如下所示:

class MyHandler(webapp2.RequestHandler):
    def post(self):
        logging.debug('key1: %s' % self.request.get('key1')) # This is OK
        logging.debug('key2: %s' % self.request.get('key2')) # This is OK

   def put(self):
        logging.debug('key1: %s' % self.request.get('key1')) # This is OK
        logging.debug('key2: %s' % self.request.get('key2')) # This is OK

   def delete(self):
        logging.debug('key1: %s' % self.request.get('key1')) # This is NG
        logging.debug('key2: %s' % self.request.get('key2')) # This is NG
        logging.debug('body: %s' % self.request.body) # key1=value1&key2=value2

如果客户端将 http 方法更改为POSTor PUT,则self.request.get()效果很好。但是,如果客户端使用DELETE方法,self.request.get()则只返回空。

如果我检查self.request.body,我可以看到所有的查询字符串。是否有任何方便的方法可以从删除方法中检索特定的查询字符串,而不是自己解析正文?

4

0 回答 0