使用webapp2用户身份验证时出现此错误。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。
如何在重定向之前添加访问标头?
重定向代码:
self.redirect(users.create_login_url(self.request.uri))
CODE:
class Authenticate(webapp2.RequestHandler):
def get(self):
user = users.get_current_user()
cookie_value = self.request.cookies.get('user')
if user==cookie_value and user!=None:
self.response.headers['Content-Type'] = 'text/plain'
self.response.write('Success')
else:
self.request.headers['Access-Control-Allow-Origin'] = '*'
self.redirect(users.create_login_url(self.request.uri))
答案 0 :(得分:0)
在self.redirect
来电之前,请执行
self.response.headers['Access-Control-Allow-Origin'] = '*'
或者您希望为该标头设置的任何值 - self.redirect
默认情况下会生成一个新的响应对象,但您可以使用
return self.redirect(users.create_login_url(self.request.uri,
response=self.response)
答案 1 :(得分:0)
def redirect(self, uri, permanent=False, abort=False, code=None,body=None)
和
def redirect(uri, permanent=False, abort=False, code=None,
body=None,request=None, response=None)
所以,我认为你应该调用第二个(如果你想传递响应对象):
return webapp2.redirect(users.create_login_url(self.request.uri),True,False,None
,None,None,self.response)