我有两个子域名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表示缓慢的请求没有任何问题,因此它似乎不是来自服务器。
我真的不知道如何调试这个,有什么建议吗?
答案 0 :(得分:0)
这似乎是会话锁定问题。基本上symfony用会话阻止并行请求。 尝试将此代码添加到您的控制器操作中,最好尽快,但是在您完成编辑任何可以更新会话(通常与用户相关)的任何内容之前不会:
public function uploadAction() {
// code potentially affecting session
session_write_close(); // unlock session to allow multiple requests with this session
// rest of the code
}
更多信息: