JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
先看下面一段代码:
DiGui = function (param) { $.ajax({ success: function (returnValue) { window.setInterval("fnSetMarkPoint()", 5000); } });
调用DiGui()方法后
问题: 每隔0.1秒创建一个setInterval,成一个树形的方式循环创建setInterval,直到页面崩溃
解决思路: 保证setInterval对象只创建一次
实现方案: 定一个布尔变量进行判断 var status= true;
var status = true; DiGui = function (param) { $.ajax({ success: function (returnValue) { if (status) { status= false; window.setInterval("DiGui()", 5000); } } });
总结
以上所述是小编给大家介绍的JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题,希望对大家有所帮助如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
相关推荐
-
node.js中使用node-schedule实现定时任务实例
有的时候需要根据业务需要,晚上凌晨以后执行某些操作的时候,这个可能会有所帮助,我最近正在研究这个,欢迎共同探讨. github地址:https://github.com/mattpat/node-schedule 一.安装 复制代码 代码如下: npm install node-schedule 二.确定时间,例如:2012年11月21日,5:30 复制代码 代码如下: var schedule = require('node-schedule');var date = new Date(201
-
Node.js node-schedule定时任务隔多少分钟执行一次的方法
在 Node.js 中,我使用 node-schedule 来执行定时任务.Cron-style 的时间格式对于初学者不太直观,所以一般使用这种方式:比如官方示例中的每个小时的 42 分执行任务 复制代码 代码如下: var schedule = require('node-schedule'); var rule = new schedule.RecurrenceRule(); rule.minute = 42; var j = schedule.scheduleJob(rule, func
-
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
关于nodejs读取中文文件真是折腾了不少时间,网上各种方案,最后没有一个适用我,好在解决了. 下面的三个知识点都是从项目中抽出的,要单独运行脚本的话需要用全局模式来安装模块,比如安装中文转换模块(后续其它的也需要这么做): 复制代码 代码如下: npm install -g iconv-lite npm install -g nodemailer npm install -g node-schedule 1.nodejs读取中文文件编码问题 准备一个文本文件(当然也可以是csv文件等)test
-
angularjs定时任务的设置与清除示例
人们似乎常常将AngularJS中的$timeOut() $interval()函数看做是一个内置的.无须在意的函数.但是,如果你忘记了$timeOut()$interval()的回调函数将会造成非常不好的影响,你可能会因此遇到代码莫名其妙的出现问题,或者无端抛出一个错误甚至是一遍一遍的重复对的你的服务器进行$http请求这些诡异的情形.管理好你的$timeOut/$interval定时器的小技巧就是在$destory事件中将它们取消. 和JavaScript中原生的setTimeout()以
-
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
先看下面一段代码: DiGui = function (param) { $.ajax({ success: function (returnValue) { window.setInterval("fnSetMarkPoint()", 5000); } }); 调用DiGui()方法后 问题: 每隔0.1秒创建一个setInterval,成一个树形的方式循环创建setInterval,直到页面崩溃 解决思路: 保证setInterval对象只创建一次 实现方案: 定一个布尔变量进行判
-
JS实现网页每隔3秒弹出一次对话框的方法
本文实例讲述了JS实现网页每隔3秒弹出一次对话框的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-3-sec-alert-dlg-codes/ 具体代码如下: <html> <head> <title>每隔3秒弹出对话框</title> </head> <body> 不要以为这是个空网页,一会就有东西弹出来~ <script lang
-
jquery跨域请求示例分享(jquery发送ajax请求)
jQuery中常用getJSON来调用并获取远程的JSON字符串,将其转换为JSON对象,如果成功,则执行回调函数.原型如下: jQuery.getJSON( url, [data], [callback] ) 跨域加载JSON数据. url: 发送请求的地址data : (可选) 待发送key/value参数callback: (可选) 载入成功时的回调函数主要用于客户端获取服务器JSON数据.简单示例: 服务器脚本,返回JSON数据: 复制代码 代码如下: // $.getJSON.php$
-
Jquery Ajax请求方法小结(值得收藏)
jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯. 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到). 1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. url (String) :
-
Ajax请求响应中用window.open打开新窗口被拦截的解决方法
一.问题描述 ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是会被浏览器给拦截了,需要用户点下. 二.问题分析 浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了,即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所以被拦截. 说明: 1.如果是在 <a href="javascri
-
ajax请求Session失效问题
最近由于一个项目,模块切换为ajax请求数据,当Session失效后,ajax请求后没有返回值,只有响应的html: <html> <script type='text/javascript'>window.open('http://192.168.0.118:8080/welcomeAction/loginUI.do','_top'); </script> </html> 现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Aj
-
jquery的ajax请求全面了解
jquery中封装了一些ajax请求的方法,很实用. 比如.ajaxComplete()--请求完成时.ajaxError()--请求失败时.ajaxSend()--在Ajax请求发送时附加一个function去执行.ajaxStart()--请求开始时,.ajaxStop()--请求结束时.ajaxSuccess()--请求成功时.load()--从服务端加载数据并将返回的HTML替换到选择的元素中jQuery.post()--使用HTTP POST请求加载服务端数据.serialize()-
-
jquery ajax请求实例深入解析
jquery中封装了一些ajax请求的方法,很实用. 比如.ajaxComplete()--请求完成时.ajaxError()--请求失败时.ajaxSend()--在Ajax请求发送时附加一个function去执行.ajaxStart()--请求开始时,.ajaxStop()--请求结束时.ajaxSuccess()--请求成功时.load()--从服务端加载数据并将返回的HTML替换到选择的元素中jQuery.post()--使用HTTP POST请求加载服务端数据.serialize()-
-
jQuery使用deferreds串行多个ajax请求
使用JQuery对多个ajax请求串行执行. HTML代码: <a href="#">Click me!</a> <div></div> JS: function GetSomeDeferredStuff() { var deferreds = []; var i = 1; for (i = 1; i <= 10; i++) { var count = i; deferreds.push( $.post('/echo/html/',
-
教你如何终止JQUERY的$.AJAX请求
最近遇到,如果用户频繁点击ajax请求,有两个问题: 1,如果连续点击了5个ajax请求,前4个其实是无效的,趁早结束节省资源. 2,更严重的问题是:最后一个发送的请求,响应未必是最后一个,有可能造成混乱.还需要一个队列来维护发送的请求和响应. 我其实已经设计好了该队列的实现方式,后来发现jQuery直接通过abort方法,这样就不需要那么复杂的实现了,毕竟还有其他事情等着完成. 用jquery发送ajax请求的确是太方便了,$.get.$.post.$.ajax等等,但我们有时候需要中途中止a
随机推荐
- Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
- angular.js + require.js构建模块化单页面应用的方法步骤
- python学习笔记:字典的使用示例详解
- Python基于tkinter模块实现的改名小工具示例
- JavaScript记录光标在编辑器中位置的实现方法
- Bootstrap表格和栅格分页实例详解
- ASP.NET MVC的四种验证编程方式
- 基于php socket(fsockopen)的应用实例分析
- Jsp中response对象的所有属性详细介绍
- C#进行文件读写、创建、复制、移动、删除的方法
- C#实现下载网页HTML源码的方法
- 很实用的js选项卡切换效果
- 基于jQuery的消息提示插件之旅 DivAlert(三)
- centos7 mariadb主从复制配置搭建详解步骤
- sql 多表连接查询
- centos7 + php7 lamp全套最新版本配置及mongodb和redis教程详解
- jquery.validate表单验证插件使用方法解析
- 贴近用户体验的Jquery日期、时间选择插件
- 完美解决Spring声明式事务不回滚的问题
- 2007至2008中国互联网年度调查10大亮点