在jQuery脚本中使用PHP是否可以?

例如:

$(document).ready(function(){ $('.selector').click(function(){  }); }); 

这会导致问题或减慢页面速度吗? 这是不好的做法吗? 有什么重要的事情我应该知道吗?

谢谢!

如果您尝试使用click事件绑定某些PHP代码,那么这就不可能以您尝试的方式进行,并且只要页面加载就会执行PHP代码而无需等待单击事件。

如果您尝试使用PHP生成最终的javascript或jquery代码,那么这没关系。

它不会减慢页面速度; PHP在服务器上运行并发送文本,发送到浏览器,就像在任何PHP页面上一样。 这是不好的做法吗? 我不会说“坏”,但不是很好。 这会造成混乱的代码 – 如果我需要做这样的事情,我通常会尝试将其分解,如:

  

PHP在服务器上执行,然后javascript将在客户端上执行。 所以你在这里做的是使用php生成将成为函数体的javascript。 如果那是你想要做的,那么做这件事并没有错。

如果你以为你要从javascript调用一些PHP代码,那么你就错了。 您需要将PHP代码放在单独的页面中并使用ajax请求来获取结果。

当然,只要你记住在发送页面之前服务器将执行PHP代码 。 除此之外,玩得开心。

当你处理点击事件时,你有更好的选择来使用运行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 } }); }); }); 

PHP是一种“后端”语言,javascript是一种“前端”语言。 简而言之,只要PHP代码是通过一个了解PHP的Web服务器加载的 – 缺点是你必须内联JS,失去缓存能力(在.js文件中有解析php的解决方法,但你不应该真的做这个)。 对用户来说,它看起来就像是javascript和HTML。 这是服务器订单:

  1. 用户请求页面。
  2. Apache(或同等版本)注意到这是一个php文件。 然后它呈现php标签之间的所有php。
  3. Apache将页面发送给用户。
  4. 用户的浏览器会看到JavaScript并执行它。

确保PHP输出有效的JavaScript。

不,这不对。 只要您知道在解析PHP页面后执行JS即可。