又一个ajax请求 前台发送请求,后台代码全部运行完了,前台没反应,还在等, 过几分钟之后走error方法, 报504超时
这个ajax的后台请求, 有两种情况, 根据参数,有一种是1秒钟就完事的, 这样的情况下, 前台正常响应,
但是另一种情况下, 需要1分钟才能运行完代码, 这种情况下, 前台就没反应了, 一直在等待响应
但是同样的代码, 在我本地测试都好用, 在另一个服务器也好用, 但是在第三台服务器就不能用,每次都504 这台服务器用的nginx连接,但是nginx的超时我也设置了
上代码
function doRank(isAsync,isRank){
if (isRank != false) {
isRank = true;
}
//加载评级信息
var baseId = $("#baseId").val();
var doRankUrl = "<%=path%>/domesticEntry.gl?method=getRatings&baseId="+baseId+"&isRank="+isRank;
doRankAjax = $.ajax({
async: isAsync,
type: "post",//请求类型
url: doRankUrl,
dataType: "json", //返回的数据类型
success:function(result,status){
var systemRankHtml = result.domesticRating.systemRatingLevel;
//一堆代码
$('#waitDoRank').modal('hide');
},
error:function(){
if (isStop) {
isStop = false;
doRank(false,false); //调用此方法
} else {
showMsgForLoad("failure", "系统评级信息");
}
$('#waitDoRank').modal('hide');
}
});
}
后台代码
public ModelAndView getRatings(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("DRInfoEnteringAction.getRatings()-------------");
try {
//一大堆代码
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json.toString());
response.getWriter().flush();
response.getWriter().close();
}catch (Exception e) {
e.printStackTrace();
throw e;
}
return null;
}