这是我用来向响应中添加 remeber header 的当前方式:
@view_config(route_name='login', renderer='json', request_method='POST')
def post_login(request):
...
... authentication logic
...
headers = remeber(request, login)
return HTTPFound(location=came_from, headers=headers)
但我的 js 正在等待响应 {successful: True, message: 'auth OK'}。 HTTPFound 将重定向到 came_from。我要 js 重定向
所以我试过了
@view_config(route_name='login', renderer='json', request_method='POST')
def post_login(request):
...
... authentication logic
...
return { 'successful': True, 'message': 'auth OK'}
但由于 remeber header 从未添加到响应中,因此它永远不会在 moooon 的另一端进行身份验证。
所以我的问题是如何使用 json 渲染器添加那些 remeber header ?
最佳答案
您可以直接在响应中设置该信息,如 Vary Attributes of Rendered Responses section 中所述 Pyramid 手册:
@view_config(route_name='login', renderer='json', request_method='POST')
def post_login(request):
...
... authentication logic
...
headers = remeber(request, login)
request.response.headerlist.extend(headers)
return { 'successful': True, 'message': 'auth OK'}
关于python - 使用 json 渲染器将记住 header 添加到 json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14925652/