jquery - 多个同时 ajax 请求返回 504 Gateway Timeout
问题描述
当我的 Web 应用程序同时运行多个 ajax 请求时,我收到 504 网关超时。它从我有 5 个同时 ajax 请求开始,无论查询是简单的(即使是一个简单的 select gender_code from gender,它只返回 2 条记录,或者只要请求超过 5 个)。
我正在使用延迟和承诺,如下所示:
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.
});
});
当我的网络应用程序是 Laravel 5.6 时,使用在 vagrant 上运行的宅基地
解决方案
推荐阅读
- c# - ““XamlCTask”任务意外失败。” 错误
- ruby-on-rails - 在 rails 中使用 simple_form 动态添加用户输入
- python - 使用 Pandas 构建天然气远期价格带的时间序列
- javascript - D3 沿右轴对齐文本
- r - 使用 str_split 并从 R 中的同一记录中删除重复值
- cassandra - Cassandra 节点处于活动状态(已退出)?
- openstack - 是否有基于 Xen 与 KVM 以 PV 模式运行的 OpenStack 发行版?
- sql-server - (SQL) 尝试创建一个触发器,通常将数据映射到历史表并进行错误检查
- php - PHP PDO 无法让 MySQL 创建过程和更改表?
- javascript - 正则表达式从日志文件中解析一行