GAE中的AngularJS应用程序出现CORS错误

时间:2017-03-29 10:10:08

标签: angularjs google-app-engine cors

我有很多关于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服务器代码没有显示任何迹象 访问。

1 个答案:

答案 0 :(得分:1)

这是因为您login: requiredapp.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