将PHP包含在JavaScript(.js)文件中
我有一个包含多个JavaScript函数的JavaScript文件(扩展名为.js
,不是.html
)。
我想在一个PHP函数中调用其中一个PHP函数,该函数仅包含一个JavaScript函数中的几个PHP函数。
.js
文件中“包含”包含PHP函数的.php
文件? 例如,假设我有一个名为myLib.php的文件,其中包含一个名为
myFunc
的函数,它具有两个参数( param1
和param2
)。 然后我有一个包含名为myJsFunc
的函数的.js
文件。 如何从myJsFunc
(JavaScript函数)中调用myFunc
(PHP)? 我不需要在.js
文件中包含PHP文件吗? 7年后更新:这是可怕的建议。 请不要这样做。
如果您只需要将变量从PHP传递到JavaScript,那么您可以在php / html文件中使用javascript开头。
<script type="text/javascript">
phpVars = new Array();
<?php foreach($vars as $var) {
echo 'phpVars.push("' . $var . '");';
};
?>
</script>
<script type="text/javascript" src="yourScriptThatUsesPHPVars.js"></script>
如果你试图调用函数,那么你可以这样做
<script type="text/javascript" src="YourFunctions.js"></script>
<script type="text/javascript">
functionOne(<?php echo implode(', ', $arrayWithVars); ?>);
functionTwo(<?php echo $moreVars; ?>, <?php echo $evenMoreVars; ?>);
</script>
AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js
<FilesMatch ".(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>
在.htaccess文件中添加上述代码并在js文件中运行php
危险:这将允许客户端可能看到您的PHP文件的内容。 如果您的PHP包含任何敏感信息(通常会这样做),请勿使用此方法。
如果你必须使用PHP来生成你的JavaScript文件,那么请使用纯PHP来生成整个JS文件。 您可以通过使用普通的.PHP文件来执行此操作,其方式与通常输出html的方式完全相同,区别在于使用PHP的标头函数设置正确的标头,以便将正确的MIME类型返回给浏览器。 JS的mime类型通常是“ application / javascript ”
基于Blorgbeard的稍微修改后的版本,用于将可引用的关联php数组转换为javascript对象文字:
PHP文件(* .php)
首先定义一个数组,用于在JavaScript文件中使用这些值:
<?php
$phpToJsVars = [
'value1' => 'foo1',
'value2' => 'foo2'
];
?>
现在将php数组值写入一个javascript对象文字中:
<script type="text/javascript">
var phpVars = {
<?php
foreach ($phpToJsVars as $key => $value) {
echo ' ' . $key . ': ' . '"' . $value . '",' . "n";
}
?>
};
</script>
Javascript文件(* .js)
现在我们可以使用符号从任何其他.js文件访问javscript对象文字:
phpVars["value1"]
phpVars["value2"]
链接地址: http://www.djcxy.com/p/42497.html