在js文件中使用php变量

在js文件中使用php变量,php,cakephp,Php,Cakephp,我有一个名为edit.ctp的视图文件和一个名为edit.js的js文件。 在edit.ctp上,我这样调用edit.js: $this->Html->script('edit', array('inline' => false)); js文件被包括在内,所以我有一个问题要使用php标记,就像这个答案一样 可能是因为文件is.js无法接受php构造 那么,在js文件上使用php标记的最佳方法是什么呢?另一种方法是全局声明变量,并从加载页面后运行的onload事件中进行设置:

我有一个名为edit.ctp的视图文件和一个名为edit.js的js文件。 在edit.ctp上,我这样调用edit.js:

$this->Html->script('edit', array('inline' => false));
js文件被包括在内,所以我有一个问题要使用php标记,就像这个答案一样

可能是因为文件is.js无法接受php构造


那么,在js文件上使用php标记的最佳方法是什么呢?

另一种方法是全局声明变量,并从加载页面后运行的onload事件中进行设置:

<script>

var your_variable;

function init() {
  your_variable = document.getElementById('xxx1');
}

</script>

<body onload="init();">

var_变量;
函数init(){
您的_变量=document.getElementById('xxx1');
}

如果我能为您提供更多帮助,请告诉我。

您可以做的一件事就是将js文件的名称更改为
edit.php
如果您这样做,我会确保包括:

<?php header("Content-Type: application/javascript"); ?>

虽然这可能不是严格需要的,但我认为这是一个很好的做法

您的其他选择是通过php更改服务器配置过滤器所有js(从性能角度来看……可能不是一个好主意)

希望这有帮助