setTimeout方法不能使用ajax函数

时间:2014-01-30 14:44:43

标签: javascript ajax settimeout

这里我正在开发一个测验门户网站。 问题以模块的形式设置,即模块包含5个问题,前4个是文本类型,第5个是图像类型。

当用户使用register.php注册时,他将从他登录的位置进入index.php。

登录后,他会看到一个开始按钮。按下开始按钮时,调用qstartfunc(),使用xmlHTTPrequest打开qstart.php文件,该文件作为响应以html格式返回一个问题。

响应如下

Response=<script>
        setTimeout(qtime,30);
    </script>
    <div>
    <form name='question'  action='#'>
        <p>Question #8: Since independence, both development and non-development expenditures have increased; the increase in the former being a little more than in the other. Non-development expenditure involves<br />

 I.      interest payments<br />

 II.    subsidies<br />

 III.   defence<br />

 IV.    irrigation

 ?
        </p>
        <input id='a' type='radio' name='ansa' value='optiona' /> I, II<br />
        <input  id='b' type='radio' name='ansa' value='optionb' /> I<br />
        <input  id='c' type='radio' name='ansa' value='optionc' /> I, II, III<br />
        <input  id='d' type='radio' name='ansa' value='optiond' /> II, III, IV<br />
        <button onclick='qreturnfunc();return false;'>Submit</button>
    </form>
    </div>"

现在你看到我在setTimeout方法中调用了qtime()函数,在这种情况下使用了一些时间.30。qtime()方法调用qreturnfunc(),它以不同的问题回复,但响应格式相同。

但是setTimeout方法不起作用。这段代码打算用这个时间来限制用户,否则它会自动提交。

除了setTimeout方法之外,其他所有工作都正常。

所以,如果你们发现任何错误,请帮助我。任何批评甚至受到欢迎......

提前致谢。

完整包的链接是

https://drive.google.com/file/d/0B6KPYbSD1sxDU0k0QkU2YWVISWc/edit?usp=sharing

2 个答案:

答案 0 :(得分:0)

你实际上并没有说过发生了什么。

我的猜测是你的计时器正在快速运行,因为JS中的计时器以毫秒为单位递增。所以Javascript中的30秒是30,000毫秒。

编辑:你在做什么调试?函数被调用了吗?你在检查错误吗?听起来你不知道你的代码是什么或者没有做什么,这可以通过简单地添加日志记录并查看你的代码得到多少来获得。

答案 1 :(得分:0)

你应该用这个:

<script>
$.ready(function(){
        setTimeout(qtime,30);
});
</script>

 <script>
    window.load = function(){
            setTimeout(qtime,30);
    };
 </script>

除非您无法确定脚本执行的时间。