【发布时间】:2015-03-11 06:12:19
【问题描述】:
我正在开发一个在多个客户端之间共享资源的网络应用程序。在网上搜索了相当长的时间后,我选择了基于令牌的身份验证并决定使用它。
我在 clint 端使用 AngularJS / 拦截器将令牌添加到请求标头
if ($localStorage.token) {
config.headers.TOKEN = $localStorage.token;
}
...
//
return config ;
在服务器端, 使用 flask-cors 处理跨域请求的 Flask 应用程序。 现在的问题是,自从我添加了拦截器部分以来,所有请求都作为 OPTIONS 发送(无论原始方法如何 - $http.post() 或 ..)
我读了similar question,但答案集中在快递上,我无法在这里修复它。 这是我的 cors 配置:
cors = CORS(application, resources={r"/api/*": {"origins": "*"}}, allow_headers=['X-Requested-With', 'Content-Type', 'TOKEN', 'Accept'])
除了修复它,为什么会发生这种情况?这个 OPTIONS 请求在 CORS 中扮演什么角色?
【问题讨论】: