js中为什么setinterval不执行

js代码如下:<scripttype="text/javascript"src="js/jquery-1.8.3.js"></script><scripttype="te... js代码如下:

<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(e) {
setInterval(function(){
alert("...");
$.ajax({
type : "GET",
url : "UnloadServlet",
dataType : "text",
contentType : "application/text;charset=utf-8",

success: function(result) {
//alert("成功!");
},

});
},1000);
});
</script>

UnloadServlet(已经在web.xml里配置好路径)代码如下:(主要测试是否执行)
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session=request.getSession();
System.out.println("0101");

}

为了证明不是UnloadServlet的问题,特意在js中加了一句alert("...");边这一句也没执行,请问是什么原因呢?
展开
 我来答
鞁犾澑
高粉答主

2018-04-09 · 关注我不会让你失望
知道大有可为答主
回答量:192
采纳率:100%
帮助的人:30.7万
展开全部

因为你把setInterval()写在window.onload函数里了,而window.onload只会执行一次,所以它里面的函数,也只会执行一次。

提示两点:

1、setInterval尽量使用匿名方法。

2、这种现实当前时间的,一般用半秒执行一次,这样能避免打开网页不在整秒的问题。

矢风快乐
2015-10-05 · TA获得超过991个赞
知道小有建树答主
回答量:632
采纳率:100%
帮助的人:325万
展开全部

教你个简单的测试方法。把最核心的代码执行下,也就是:

setInterval(function(){alert(1)},1000);

看下是否执行呢?如果执行那就不是这里的问题,可能解析就报错了。或者是别的东西的问题。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式