Когда мое веб-приложение выполняет несколько запросов AJAX одновременно, я получаю 504 Gateway Timeout.Он начинается, когда у меня есть 5 одновременных ajax-запросов, независимо от того, прост ли это запрос (даже простой выбор пола_кода от пола, который возвращает только 2 записи или до тех пор, пока запрос превышает 5).
Яиспользуя deferred и обещания, например, так:
var ajaxRequest = function(path) {
return $.ajax({
url: path,
dataType: 'json',
})
}
var getAjaxRequest = function(path) {
var promise = $.Deferred();
$.when(ajaxRequest(path)).done(function(data, status, jqXHR) {
promise.resolve(data);
});
return promise.promise();
}
var main = getAjaxRequest('main');
var a1 = getAjaxRequest('path1');
var a2 = getAjaxRequest('path2');
var a3 = getAjaxRequest('path3');
var a4 = getAjaxRequest('path4');
var a5 = getAjaxRequest('path5');
// execute main first
$.when(main).done(function(data) {
// execute remaining when main has finish loaded
$.when(a1, a2, a3, a4, a5).done(function() {
// when all are done, display everything at once.
});
});
Использование фермы, работающей на vagrant, в то время как мое веб-приложение - Laravel 5.6