我是网络开发的新手。我已经谷歌问了这个问题但没有找到结果。首先,请考虑以下代码:
<p id="par">Hello World</p>
如果您有PHP设置,则以下内容有效:
<p id="par"><?php echo "Hello World";?></p>
两者都产生相同的结果,但我记得PHP代码是在服务器中执行的,因此出现了关于代码执行的以下问题:
首先从服务器检索<p></p>
元素,而某些后台ajax进程等待“Hello World”?
我真的很想知道,所以我可以制作更可预测的代码。困扰我的另一个可能的情况是使用javascript和/或jQuery:
$(document).load(function(){
$("#foo").width($("#par").width());
});
引发了一个问题,它是等待PHP服务器请求芬兰语还是只是加载页面因此,一些代码需要对上面<p>
元素的大小作出反应将是一个错误?
再次,原谅初学者的问题。
答案 0 :(得分:1)
PHP它是服务器端程序语言。在返回客户端之前,所有代码都将在服务器上处理。
我相信你的情况JavaScript是客户端的一部分。所以。
PHP将首先生成HTML。然后浏览器加载HTML(已经使用&#34; Hello World&#34;)和Javascript。最后,Javascript将可以访问#foo
DOM元素。
但是在HTML之前加载Javascript时可能会出现这种情况。在这种情况下
$("#foo").width($("#par").width())
将不执行任何操作或抛出错误,因为尚未存在#par元素。要解决此问题,您必须确保在加载所有HTML后Javascript开始工作。为此,您可以使用:
$(document).load(function() {
$("#foo").width($("#par").width())
});
我希望这会对你有所帮助。
答案 1 :(得分:0)
确定您一直在浏览器栏中输入网址并按Enter键,您的浏览器正在向服务器生成请求http。
所以例如:
www.example.com/ - &gt;向example.com服务器询问index.html这是一个文本。
当你有类似的东西: www.example.com/test.php - &gt;再次只是转换文本中的所有PHP并返回该文本。
您可以在Firebug的“网络”标签上看到此内容,例如
所以PHP只是直接线性地为你生成html代码。
关于你的问题:
不,它不会被窃听。如果你分析从两个案例中收到的html代码,你会发现它们是完全相同的。