php 包含js文件,将PHP包含在JavaScript(.js)文件中

7年后更新:这是可怕的build议。 请不要这样做。

如果您只需要将variables从PHP传递到JavaScript,则可以使用JavaScript开始,在php / html文件中包含标签。

如果你试图调用函数,那么你可以这样做

AddType application/x-httpd-php .js AddHandler x-httpd-php5 .js SetHandler application/x-httpd-php

在.htaccess文件中添加上面的代码,并在js文件中运行php

危险:这将允许客户端可能看到您的PHP文件的内容。 如果您的PHP包含任何敏感信息(通常是这样),请不要使用这种方法。

如果您必须使用PHP来生成您的JavaScript文件,那么请使用纯PHP来生成整个JS文件。 你可以通过使用一个普通的.PHP文件来完成,就像你通常输出html的方式一样,不同的是使用PHP的头文件函数设置正确的头文件,以便正确的MIMEtypes返回给浏览器。 JS的mimetypes通常是“ application / javascript ”

PHP和JS不兼容; 你可能不会简单地在JS中包含一个PHP函数。 你可能想要做的是从JavaScript发出一个AJAX请求,并使用PHP发送一个JSON响应。

稍微修改的版本基于Blorgbeard之一,为便于参考的关联PHP数组到javascript对象文字:

PHP文件(* .php)

首先定义一个数组,用于JavaScript文件中使用的值:

<?php $phpToJsVars = [ 'value1' => 'foo1', 'value2' => 'foo2' ]; ?>

现在将php数组值写入一个javascript对象文字中:

Javascript文件(* .js)

现在我们可以用任何其他的.js文件使用标记来访问javscript对象的字面值:

phpVars["value1"] phpVars["value2"]

这是有点棘手,因为PHP得到评估服务器端和JavaScript获得评估客户端。

我会使用JavaScript内部的AJAX调用来调用您的PHP文件,然后使用JS将返回的HTML插入页面上的某处。

实际上最好的方法是把JavaScript写在一个.php文件中,并在一个单独的文件中使用jquery来使用Jquery获取脚本文件,或者在jquery中使用php包含函数。 基本上就是这样。

在.php文件扩展名中的dynamicJavaScript文件 – 包含由服务器预处理的phpvariables和在脚本中需要这些variables的javascript的混合。

在主html页面调用静态文件作为常规的js文件。 调用静态js文件将强制从服务器加载dynamic数据。

一些file.php 1:

<?php $somevar = "Some Dynamic Data"; ?> $('input').val(<?php echo $somevar?>);

或者只是简单地回显脚本

echo "$('input').val(".$somevar.");";

文件2:somejsfile.js:

$("#result").load( "file.php" );

文件3 myhtml.html:

我相信这个答案是许多人想要混合PHP和JavaScript的问题。 在后台进行数据处理会让用户有延迟等待数据。 你也可以绕过第二个文件,只需在主html页面上使用php的include,你就可以在主页面上显示你的javascript。 performance取决于你,以及你想如何处理所有这些。

你不能在你的客户端JavaScript包含服务器端的PHP,你将不得不把它移植到JavaScript。 如果你愿意,你可以使用php.js ,它把所有的PHP函数都转换成javascript。 你也可以创build一个新的PHP文件,返callback用你的PHP函数的结果,然后使用AJAX调用该文件来获得结果。

因为Javascript是在浏览器,客户端和服务器端的PHP中执行的,所以你需要的是AJAX – 实质上,你的脚本向PHP脚本发出一个HTTP请求,传递任何所需的参数。 脚本调用你的函数,并输出结果,最终被Ajax调用拾取。 一般来说,你不要同步(等待结果) – AJAX中的“A”代表asynchronous!

你可以用这种方法创build一个文件的双重分辨率:“filename.php.js”。 PHP在这个文件中生成JS。 我从DB获取所有参数。 这在xampp上适用于我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值