【发布时间】:2014-11-11 01:28:23
【问题描述】:
我有两个子域 client.domain.com 和 server.domain.com 客户端只是一个带有简单 jquery ajax POST 请求的 index.html。
$.ajax({
url: 'http://server.domain.com/upload',
type: 'POST',
success: function(response){
console.log(response);
}
});
服务器运行 symfony2 并将 Access-Control-Allow-Origin 标头设置为 '*'。
客户端发送的预检 OPTIONS 请求通常(80% 的时间)非常快(100 毫秒)并且随机非常长(10 到 15 秒 timeline + headers)。
我测试了用 Postman 发送 OPTIONS 请求,绝对没有问题,总是很快,所以它似乎来自 jquery ajax 请求。 symfony2 web profiler 也说慢请求没有问题,所以它似乎不是来自服务器。
我真的不知道如何调试这个,有什么建议吗?
【问题讨论】:
-
我不知道这是否会有所帮助。但我发现这篇文章对这个问题非常有用:html5rocks.com/en/tutorials/cors
-
作为第一步,尝试找出请求生命周期的哪一部分是缓慢的。您可以使用浏览器的开发者工具(网络标签上的 Chrome 时间线)和/或网络嗅探器。
-
开发者工具除了请求所用的时间之外没有说太多:(drp.io/byM
-
你可以访问 Symfony 的分析器吗?您可以搜索有问题的请求并查看时间线。应该提供一些线索。
-
@phpisuber01 我使用 web profiler 来检查缓慢的请求,它似乎不是来自 symfony,因为 profiler 说请求很好并且很快:(
标签: javascript ajax symfony