我在 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 方法更改为POST
or PUT
,则self.request.get()
效果很好。但是,如果客户端使用DELETE
方法,self.request.get()
则只返回空。
如果我检查self.request.body
,我可以看到所有的查询字符串。是否有任何方便的方法可以从删除方法中检索特定的查询字符串,而不是自己解析正文?