我在 AngularJS / Google Chrome 中遇到了一个奇怪的错误。当我执行 $http.get() 时,最多需要 18 秒才能真正完成。对于“OPTIONS”方法,它似乎保持在“PENDING”状态:
https://i.stack.imgur.com/GCQKa.png https://i.stack.imgur.com/GCQKa.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 请求吗? (从 Flask 服务器调试控制台来看,OPTIONS 方法似乎只在页面重新加载后 10-20 秒到达)。它似乎在 Firefox 中运行良好。
一旦我禁用“预测网络操作以提高页面加载性能”选项,问题似乎就得到了解决。很奇怪,也许我应该保留这个问题,以便有人能给出可能的原因?
编辑:原因见评论!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)