我听说人们说PHP代码将完成加载然后才会开始加载javascript.在信息如何让JavaScript的等待为MySQL将值分配给PHP变量?
但是当我写道:
<script type="text/javascript">
alert("<?php echo $username; ?>");
</script>
<?php $username = "abc"; ?>
Run Code Online (Sandbox Code Playgroud)
它无法提醒php变量的值.这是因为javascript首先被加载,然后才开始加载php.那么服务器站点脚本的事实是完成加载然后只启动加载客户端站点脚本是错误的?
如果javascript可以在php之前执行,那么我有问题要求javascript等待mysql为php变量赋值.请帮我解决这个问题如何问javascript等待mysql赋值给php变量?
PHP在Web服务器上执行,生成浏览器要显示的html(或其他)页面.JavaScript在客户端,在用户的浏览器中执行,因此根据定义,php在JavaScript执行之前已经完成执行.
你似乎假设php在同一个地方运行,然后运行JavaScript .这是一个谬论; 你遇到的问题是你在php脚本分配/评估$username变量之前将JavaScript变量赋值给变量的值; 哪个应该在服务器上转换为:
<script type="text/javascript">
alert("<?php echo $username; ?>");
</script>
<?php $username = "abc"; ?>
Run Code Online (Sandbox Code Playgroud)
在客户端:
<script type="text/javascript">
alert("");
</script>
Run Code Online (Sandbox Code Playgroud)
因此,虽然您的脚本似乎什么也不做,或者做错了,但它正在按照您的要求进行操作.你应该尝试重新安排你的代码:
<?php $username = "abc"; ?>
<script type="text/javascript">
alert("<?php echo $username; ?>");
</script>
Run Code Online (Sandbox Code Playgroud)
这允许php评估/分配变量,然后在alert()语句中设置/可用变量.