在异步ajax POST 请求后重定向时,我遇到了一个奇怪的问题。我想向服务器发送一个异步 POST 请求(文件上传),直到我等待它完成,因为这需要一些时间,我想重定向到不同的路线,在那里我可以看到上传的状态。我的问题是,即使我声明请求是异步的,它也会先同步等待该请求完成,然后再重定向我。我是否偶然错过了什么?
upload.save = function (data) {
var self = this,
result = self.uploadType.getSummaryData();
$.ajax({
method: 'POST',
url: Routing.generate('save'),
data: JSON.stringify({
//My data
}),
cache: false,
contentType : 'application/json',
dataType: 'json',
context: self
});
// Redirection
setTimeout(function () {
window.location.replace(Routing.generate('log'));
}, 3000);
};
我使用的是 Symfony 3.4,JQuery 版本是 2.1,对于重定向,我使用 FOS JS Routing Bundle v~1.4