我有很多关于GAE for Python的应用程序和一个基于AngularJS的应用程序。其他工作正常,AngularJS曾经工作正常。现在我收到以下错误:
XMLHttpRequest无法加载xxxxxxxxx / rest / loadlocale?locale = en。 从'xxxxxxxxxxxxx / rest / loadlocale?locale = en'重定向到 “https://www.google.com/accounts/ServiceLogin?service=ah&passive=true& ...... 被CORS政策阻止:没有'Access-Control-Allow-Origin' 标头出现在请求的资源上。原点'xxxxxxxx'是 因此不允许访问。
如果我从Chrome明确转到ServiceLogin,该应用程序可以正常运行一段时间。过了一会儿(我假设登录到期时)错误再次出现。
app.yaml有以下部分:
- url: /rest/.*
script: main.APP
login: required
secure: always
但删除“secure: always
”没有任何区别。
第一个客户端http请求发生错误,但请求处理程序的Python服务器代码没有显示任何迹象 访问。
答案 0 :(得分:1)
这是因为您login: required
中app.yaml
意味着所有XMLHttpRequest请求都需要有效会话。
GAE的login
由Google帐户处理。所以你无法改变你的设置。
尝试从login
删除app.yaml
。如果您只想在没有有效Google会话的情况下允许某些请求,则需要指定允许和不允许的内容。例如:
- url: /rest/loadlocale
script: main.APP
login: optional # this is the default value and can be removed.
secure: always
- url: /rest/.*
script: main.APP
login: required
secure: always