【发布时间】:2016-08-26 18:48:36
【问题描述】:
当我的网站的某个页面托管在我们的生产网站的 IIS 中时,我在该页面上遇到了 504 gateway_timeout。它在我的本地主机、我们的测试站点和我们的生产服务器的本地主机(通过 localhost/link/abc 访问)上运行良好
我不知道为什么会发生这种情况,下面是我的代码:
function GetTableData(date, period, offset, method) {
$(".load-bar").show();
updateTimeStampTabular(date, period, offset, "Try");
var link;
if (method != "aa" && method != "bb" && method != "cc")
{
link = "../Tabular/";
}
else {
link = "../Statistics/";
}
$.ajax({
url: link + method,
type: "GET",
timeout: 200000,
data: {
date: date,
period: period,
timezoneOffset: offset
},
success: function (data) {
$(".statistics .table-responsive").html(data);
var overallStatusText = $(".right-sidebar span.status");
},
error: function(xhr, textStatus, errorThrown) {
alert(xhr.status);
alert(textStatus);
alert(xhr.statusText);
if (globalVars.unloaded)
return;
}
});
}
我可以确认我的 TabularController 中存在带有“dd”的函数,并且它使用 [HttpGet] 注释。任何想法为什么在访问产品 url 时会发生这种情况?其他方法通过相同的方式调用并且它们工作正常,除了Tabular/Getdd上的这个实例
【问题讨论】:
-
大多数情况下,504 网关超时错误意味着无论其他服务器花费的时间过长以至于“超时”都可能已关闭或无法正常工作。由于此错误通常是 Internet 上的服务器之间的网络错误,或实际服务器的问题,因此问题可能与您的计算机、设备或 Internet 连接无关。
-
可以通过 Postman 访问链接吗?这是查看问题是您的代码还是机器/网络问题的一种简单方法。
-
@JeffSiver 是的,我可以访问链接,我正在执行 ajax 调用来更新 PartialView 的值,这就是发生 gateway_timeout 错误的地方
-
@PranavPatel 也是我们通过 IIS 在我们的服务器上托管它。我们发布网站的方式会不会有错误?
-
首先做一件简单的事情,使用任何是否正确响应的休息客户端检查您的网址和参数
标签: c# .net ajax model-view-controller