为了账号安全,请及时绑定邮箱和手机立即绑定

ajax回调函数,success中执行settimeout报错

ajax回调函数,success中执行settimeout报错

湖上湖 2019-03-12 13:15:24
JS代码<script>var i = 10;var intervalid;intervalid = setInterval('fun()', 1000);function fun() {    i--;    if (i === 0) {        // window.location.href = 'train_order.php'; //跳转到提示信息页面        clearInterval(intervalid);    }    $(".lv-ticketBookLoading span").text("" + i + "");//显示倒计秒数。}</script>HTML代码<div id="errorfrm">    <h3>出错啦~~~</h3><div id="error">    <p>系统出错,请联系管理员!</p>    <p class="lv-ticketBookLoading">将在 <span id="mes">10</span> 秒钟后返回首页!</p></div>这段代码是可以正常执行。但是我把JS代码块放在 ajax的success回调执行时,就报错了。我就郁闷了。没找实际问题在哪 success: function (result) {      var i = 10;    var intervalid;    intervalid = setInterval('fun()', 1000);    function fun() {        i--;        if (i === 0) {            // window.location.href = 'train_order.php'; //跳转到提示信息页面            clearInterval(intervalid);        }        $(".lv-ticketBookLoading span").text("" + i + "");//显示倒计秒数。    } }fun 函数找不到 怪了。。。
查看完整描述

1 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

intervalid = setInterval(fun, 1000);

这样就行了,因为你传字符串的时候,是在全局作用域里执行的,全局作用域里没有 fun ,就报错了;详情戳这

定时器里的回调,不要传字符串,再强调一遍,字符传回调是历史用法;


查看完整回答
反对 回复 2019-03-18
  • 1 回答
  • 0 关注
  • 686 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信