想弄php隔一秒输出一下,但它的timesleep是全局暂停,所以用js代替一下,结果问题出现了:变量仅执行第一次,而输出语句则持续执行。之前有一次整php随机验证码也是,绑定的点击事件,点击后修改变量值并写入网页,结果写入操作是每次都执行,而验证码除了第一次点击变化再怎么点都变不了。
第1个回答 2021-04-04
php代码是在服务器执行的,执行完毕后再把结果发送回前端,所以前端的js如何运行就跟服务器没有任何关系了。你可以在浏览器中查看一下html源码,会发现它的js部分是这样的:
<script type="text/javascript">
setInterval(function(){
document.write(1)
},1000);
</script>
这不就是连续不断的输出1吗?
请注意:php是运行在后台的,而js是运行在前端的,原则上两者是泾渭分明、互不干涉的,php只能把数据传送给js,但不能够对js的运行进行控制和中途干预;js由于是运行于php之后的,所以也不能直接传送数据给php,更不能直接参与php的运行,只能通过表单提交(页面会刷新)或ajax(页面不刷新)的方式向后台传送数据。