【发布时间】:2011-06-22 05:51:11
【问题描述】:
例如:
$(document).ready(function(){
$('.selector').click(function(){
<?php
// php code goes here
?>
});
});
这会导致问题或页面变慢吗?这是不好的做法吗?有什么我应该知道的与此相关的重要信息吗?
谢谢!
【问题讨论】:
例如:
$(document).ready(function(){
$('.selector').click(function(){
<?php
// php code goes here
?>
});
});
这会导致问题或页面变慢吗?这是不好的做法吗?有什么我应该知道的与此相关的重要信息吗?
谢谢!
【问题讨论】:
如果您尝试将一些 PHP 代码与点击事件绑定,那么这在您尝试的方式中是不可能的,并且 PHP 代码将在页面加载后立即执行,而无需等待点击事件。
如果您尝试使用 PHP 生成最终的 javascript 或 jquery 代码,那么这没关系。
【讨论】:
它不会减慢页面速度; PHP 在服务器上运行并发出发送到浏览器的文本,就像在任何 PHP 页面上一样。这是不好的做法吗?我不一定会说“坏”,但不是很好。它会导致代码混乱——如果我需要做这样的事情,我通常会尝试将其分解,如下所示:
<script>
var stuff = <?php print $stuff; ?>;
var blah = "<?php print $blah; ?>";
// Do things in JS with stuff and blah here, no more PHP mixed in
</script>
【讨论】:
在服务器上执行PHP,然后在客户端执行javascript。所以你在这里要做的是使用 php 生成将成为函数体的 javascript。如果这就是你想要做的,那么这样做没有错。
如果您认为要从 javascript 调用一些 PHP 代码,那么您就走错了路。您需要将 PHP 代码放在单独的页面中并使用 ajax 请求来获取结果。
【讨论】:
当然,只要您记住 PHP 代码将在页面发出之前由服务器执行。除此之外,玩得开心。
【讨论】:
PHP 是一种“后端”语言,而 javascript 是一种“前端”语言。简而言之,只要 PHP 代码是通过理解 PHP 的 Web 服务器加载的 - 缺点是您必须内联 JS,失去缓存能力(有解决方法来解析 .js 文件中的 php,但您不应该真的做这个)。对用户来说,它看起来就像 javascript 和 HTML。这是服务器顺序:
只要确保 PHP 输出的是有效的 JavaScript。
【讨论】:
在处理点击事件时,您可以更好地选择使用运行 php 脚本的 ajax
$(document).ready(function(){
$('.selector').click(function(){
$.ajax({url:"phpfile.php",type:"POST",
data:"datastring="+value+"&datastring2="othervalue,
,success:function(data){
//get the result from the php file after it's executed on server
}
});
});
});
【讨论】:
不,不是。只要你知道 JS 是在 PHP 页面解析完之后执行的。
【讨论】: