AngularJS $ http.get()在Chrome中最多需要10-20秒,在Firefox中运行良好

时间:2013-10-06 11:41:52

标签: javascript google-chrome angularjs flask cors

我在使用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中运行良好。

1 个答案:

答案 0 :(得分:4)

一旦我禁用了“预测网络操作以提高页面加载性能”选项,似乎已经解决了。很奇怪,也许我应该留下这个问题,如果有人可以给出一个可能的理由呢?

编辑:看到评论的原因!