通过域名访问系统点击按钮执行一个ajax方法 因为执行时间过长 报错error不走success方法,但其实后台代码都是执行成功了,只是因为执行时间超过60s走了error没有success,不能获取返回值
错误信息与相关代码如下
$.ajax({
url:"${base.contextPath}/hdm/controlApproval/openApproval",
timeout : 0,
type: 'POST',
data: JSON.stringify(param),
dataType: "json",
contentType: "application/json",
success: function (data){
if(data.success){
kendo.ui.showInfoDialog({
title:$l('hap.tip.info'),
message: '审批流开启成功!'
})
} else if(data.message == null){
kendo.ui.showInfoDialog({
title:$l('hap.tip.info'),
message: '审批流开启失败!'
})
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("开启错误textStatus:"+textStatus+"XMLHttpRequest.status:"+XMLHttpRequest.status+"XMLHttpRequest.status:"+XMLHttpRequest.status);
},
complete : function(XMLHttpRequest,status){
alert("complete属性"+status);
}
});
可以用长连接 keep-live 这样就不会超时挂掉了.
或者使用websocket ,socket.io 这样的技术
在wenb.config配置超时时间,然后也注意一下返回的数据类型
如果 配置的 nginx 的话 ! 就配置下 nginx的请求超时时间 !