2015-12-23 1 views
0

У меня есть конечная точка, из которой я звоню WebApp пост URLне может получить содержимое передаваемых параметров в модуле Аст GAE

Вот конечная точка

userId = '14' 
data = {"userId" :userId,"a":"s"} 
encodedData = urllib.urlencode(data) 
result = urlfetch.fetch(url=DELETE_CHANNEL_URL,payload=encodedData,follow_redirects=False,deadline=30,method=urlfetch.POST, 
          headers={'Content-Type': 'application/x-www-form-urlencoded'}) 

и я получаю это веб-приложение, как

class DeleteChannel(webapp.RequestHandler): 
    def post(self): 
     logging.info("Delete channel") 
     parameters = ast.literal_eval(self.request.body) 

     userId = str(parameters["userId"]) 
     logging.info('userId' + userId) 

но это показывает ошибку

File "/base/data/home/apps/s~dimension-dev-endpoint/1.389460063849645110/Channel.py", line 34, in post 
    parameters = ast.literal_eval(self.request.body) 
    File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/ast.py", line 49, in literal_eval 
    node_or_string = parse(node_or_string, mode='eval') 
    File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/ast.py", line 37, in parse 
    return compile(source, filename, mode, PyCF_ONLY_AST) 
    File "<unknown>", line 1 
    a=s&userId=14 
    ^
SyntaxError: invalid syntax 

В чем проблема?

+0

Как 'self.request.body' выглядит? Кажется, «ast» не смог разобрать это. –

+0

Как я могу это решить? –

+0

Что такое вывод 'print self.request.body'? –

ответ

1

Я попытался следующий код получить USERID от paramters, и это работает для меня

userId = self.request.get("userId", default_value='') 
+0

вы также можете попробовать, 'self.request.json ['userId']' –

Смежные вопросы