您的代码被分成两个完全独立的部分,服务器端和客户端。
|
---------->
HTTP request
|
+--------------+ | +--------------+
| | | | |
| browser | | | web server |
| (JavaScript) | | | (PHP etc.) |
| | | | |
+--------------+ | +--------------+
|
client side | server side
|
<----------
HTML, CSS, JavaScript
|
双方通过HTTP请求和响应进行通信。PHP在服务器上执行,并输出一些HTML和JavaScript代码,这些代码作为响应发送给客户端,在那里HTML被解释,JavaScript被执行。一旦PHP完成输出响应,脚本就结束了,服务器上什么都不会发生,直到新的HTTP请求进入。
示例代码如下所示:
<script type="text/javascript">
var foo = 'bar';
<?php
file_put_contents('foo.txt', ' + foo + ');
?>
var baz = <?php echo 42; ?>;
alert(baz);
</script>
第1步,PHP执行<?PHP ?>标记。结果是:
<script type="text/javascript">
var foo = 'bar';
var baz = 42;
alert(baz);
</script>
file_put_contents调用没有产生任何结果,它只是将“+ foo +”写入到文件中。< ?PHP echo 42;?>调用导致输出“42”,现在在该代码原来所在的位置。
生成的HTML/JavaScript代码现在被发送到客户端,并在那里进行计算。alert调用有效,而foo变量在任何地方都没有使用。
在客户端开始执行任何JavaScript之前,所有PHP代码都在服务器上执行。响应中没有PHP代码可以与JavaScript进行交互。
为了调用一些PHP代码,客户机必须向服务器发送一个新的HTTP请求。这可以通过以下三种方法之一实现:
一个链接,它导致浏览器加载一个新页面。
表单提交,向服务器提交数据并加载新页面。
AJAX请求,这是一种Javascript技术,用于向服务器发出常规HTTP请求(如1。和2。Will),但不离开当前页面。
下面是一个更详细地概述这些方法的问题
您还可以使用JavaScript使浏览器使用窗口打开一个新页面。定位或提交表单,模拟可能性1。和2。