我有一个表单,将信息POST给我的一个处理程序。我的处理程序验证信息,然后需要将此信息发送给第三方并将用户重定向到该页面。
的例子
class ExampleHandler(BaseRequestHandler):
"""DocString here...
"""
def post(self):
day = int(self.request.get('day'))
checked_day = CheckDay(day)
if checked_day:
#Here is where I would like to redirect the user to the 3rd party -- but via a post as I will be submitting a form based on data in checked_day on their behalf.
else:
# Otherwise no post redirect is needed -- just a simple self.redirect.
self.redirect('/example')
关于如何将用户重定向到我提交表单的页面,您有什么建议吗?
理想情况下,我喜欢允许POST到第三方网站的self.redirect(),但我不相信这是一个选项。
我的目标是在将数据发送给第三方之前检查所提供的数据。他缺少其他选择吗?
答案 0 :(得分:1)
您可以发布表单并将用户重定向到某个页面,但它们必须是单独的操作。
urlfetch.fetch()
方法允许您将方法设置为POST,如下所示:
import urllib
form_fields = {
"first_name": "Albert",
"last_name": "Johnson",
"email_address": "Albert.Johnson@example.com"
}
form_data = urllib.urlencode(form_fields)
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
result = urlfetch.fetch(url=url,
payload=form_data,
method=urlfetch.POST,
headers=headers)