欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ajax 怎么设置超时(一个action执行了2遍)

程序员文章站 2023-11-14 19:47:52
今天在测试工程时发现一个action执行了2遍 ,这个操作大致需要5分多钟才能完成,工程环境 apache2+tomcat6.0。 网上搜索发现了几个可以设置超时的地方:...

今天在测试工程时发现一个action执行了2遍 ,这个操作大致需要5分多钟才能完成,工程环境 apache2+tomcat6.0。

网上搜索发现了几个可以设置超时的地方:

1.ajax 语法去设置单位毫秒,例如:

$.ajax({ 
url: xxx, 
timeout: 600000, 
type: 'post', 
data: { 
}, 
error: function() { 
show_fail_meg("启动系统失败 !"); 
} 
});

2.tomcat配置 server.xml 单位毫秒

connector port="8080" protocol="http/1.1" 
connectiontimeout="20000" 
redirectport="8443" uriencoding="utf-8"/>

3.apache的配置文件 httpd.conf,单位秒

# 
# timeout: the number of seconds before receives and sends time out. 
# 
timeout 60

修改以上几个地方,发现还是没有生效,最终定位在了mod_jk模块,

mod_jk 简称jk,是apache服务器的一个可插入模块,用以为apache或iis服务器提供处理jsp/servlet的能力。

也就是说jk的设置可能覆盖了apache2和tomcat以及ajax的设置。

jk的配置文件/etc/httpd/conf/workers.properties内容如下:

worker.master.socket_timeout=300

果然看到这个数字正好是5分钟,跟异常现象相一致,改大之后重启,正常!