为什么通过javascript执行php可以工作
Why does executing php via javascript work?
有人可以解释一下在这种情况下的请求和响应周期的分步吗?是的,它确实有效(如果你有一个有效的 php 后端)。
for(var i=0; i<10; i++){
var test = "<?php echo 'test'; ?>";
console.log(test);
}
请不要鹦鹉学舌维基百科对AJAX的定义,或者php是服务器端,javascript是客户端,我知道这些事情。
我的问题是,在这种情况下,我无法将我的大脑包裹在哪个首先出现。我的想法是首先执行js并向服务器发送请求,但这基本上不是AJAX吗?如果不首先执行js,服务器怎么可能知道执行php(即echo"test")而不仅仅是提供php标签的纯文本版本?
尝试将其视为图层。我相信你知道php在服务器上运行,javascript在客户端上运行。这就是我认为它的流动方式
- 呈现的页面必须来自某个地方,在这种情况下它是服务器,幸运的是,这也是执行 PHP 的地方,因此所有 PHP 代码在发送到服务器之前都已运行。 即:甚至是回显码
- echo 测试已经在服务器中运行,字符串"test"已经在一个相当幸运的地方生成 - 在 JavaScript 变量声明中。
- 因此,正如我们所看到的,服务器只是发送了"var test = 'test'"并且没有做任何JavaScript,所以"var"对服务器来说并不重要
- 当它从服务器到达浏览器时,这实际上是有意义的并被执行!
因此,对于服务器来说,'var test = '只是字符串'var test = "test";而对于浏览器中的Javascript来说,这意味着变量test包含一个字符串'test'
编辑:如果在从服务器发送的页面的for循环中使用,当页面到达浏览器时,无论出现echo php脚本,哪里都出现了回显字符串
您从服务器请求一个.php文件,然后它对其进行解析,然后呈现以提供给客户端。在渲染过程中,echo 输出一个字符串,因此var test = "<?php echo 'test'; ?>";
在输出中变得var test ="test"
。浏览器解释输出(html)并在此时执行任何javascript。你给出的场景中没有涉及Ajax,这就是为什么你可能会感到困惑。
Step 1) PHP 准备要由浏览器解析的页面。 发送到浏览器的实际源代码是:
var test = "test";
alert(test);
您应该能够在生成的页面上查看源代码并查看此内容。 您不是在进行服务器端调用,您只是通过PHP将文本加载到浏览器页面中
我会尽量简单地说出来。你知道PHP是服务器端,JS是客户端,你
在这方面是正确的。PHP作为一种语言运行它所做的一切,以生成要推送到客户端(浏览器)的HTML内容。所以当你运行你的javascript时:
for(var i=0; i<10; i++){
var test = "<?php echo 'test'; ?>";
console.log(test);
}
PHP在javascript知道它做了任何事情之前就被评估了。本质上是让你的小脚本看起来像这样:
for(var i=0; i<10; i++){
var test = "test";
console.log(test);
}
上面的脚本中不涉及 ajax。
- PHP Javascript显示/隐藏按钮不工作
- 如何使MailHandler.php在Wordpress中工作
- 如何检查这个代码点火器php函数是否工作,该函数是否在ajax url中使用
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 如何使Jquery编码的动态下拉菜单与PHP GET变量协调工作
- Foreach无法在php和Jquery中工作
- document.title函数可以't设置它与php一起工作
- 递增 PHP 变量在 JSCRIPT 文档工作方面
- 类似按钮增量计数器不工作.PHP,AJAX,MySQL,javascript
- PHP:运行后变量不工作“;如果“;命令
- 为什么带有php-var的javascript代码不是't工作
- 无法使autocompletion与bootstrap和php代码点火器一起工作
- onClick按钮不工作javascript/php/jquery mobile
- Ajax调用PHP失败,ASP正常工作.NET
- JavaScript函数在php回显中工作吗?
- 使用HTML和任何服务器端语言(PHP,.net,ruby)制作的网站是否可以在每个具有浏览器的设备上工作
- 跨域AJAX不工作PHP
- .单击不工作(PHP)
- Ajax请求不工作php
- Jquery -确认对话框-工作php代码