我在使用 AngularJS / Google Chrome 时遇到了一个奇怪的错误。当我执行 $http.get() 时,最多需要 18 秒才能真正完成。对于“OPTIONS”方法,它似乎保持在“PENDING”:
http://i.imgur.com/yEozFdm.png
为页面提供服务的服务器是 Mongoose,@ localhost:5000 是 Flask,它返回以下标头以使 CORS 工作。
@mod.after_request
def after_request(response):
response.headers.add('Access-Control-Allow-Origin', 'http://localhost:8080')
response.headers.add('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
response.headers.add('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept')
任何人都知道为什么 Chrome 会延迟 OPTIONS 请求?(从烧瓶服务器调试控制台看来,OPTIONS 方法实际上只在页面重新加载后 10-20 秒到达)。它似乎在 Firefox 中运行良好。