首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在.js文件中执行PHP代码

问在.js文件中执行PHP代码
EN

Stack Overflow用户
提问于 2014-05-10 05:31:31
回答 5查看 41.5K关注 0票数 8

我试图让一些PHP在.js文件中执行,但显然不知道如何正确执行。

基本上,代码向我的页面添加了一些HTML标记,我将其用于一个滑出式联系人表单。然而,在Wordpress中,联系人表单本身是由一个短代码完成的。所以我试着让短代码在使表单滑出的代码中工作。

代码语言:javascript
复制
var phpTest = '<?php do_shortcode("[contact-form-7 id=\'1088\' title=\'Live Chat Form\']"); ?>';

// add feedback box
$this.html('<div id="fpi_feedback"><div id="fpi_title" class="rotate"><h2>'
    + thisSettings.title
    + '</h2></div><div id="fpi_content">'
    + phpTest
    + '</div></div>');

如果我将变量"phpTest“改为一个带文本的常规字符串,它显示得很好,我只是不确定如何在这个实例中执行php。

EN

回答 5

Stack Overflow用户

发布于 2014-05-10 05:39:42

编辑:脚本类型应该始终是text/javascript,因为application/javascript可能会破坏与旧浏览器的兼容性(我认为IE8和更早版本会忽略该类型的脚本标记)。但是,Content-type仍然应该是application/javascript。

你不能像使用普通的.php文件那样在.js文件中混入php,因为.js文件不会像你的.php文件那样被.php引擎进行预处理。

要做到这一点,最典型的方法是在.php文件中内联js (位于<script>标记之间)。然后它就会像预期的那样工作。

另一种方法是在php中创建一个js文件,因此从下面开始您的.php文件

代码语言:javascript
复制
<?php
header("Content-type: application/javascript");
?>
var jsvar='something';
var othervar='<?php echo $phpVar; ?>';
//<?php //some php ;?>

然后像这样把它包含在你的页面上

代码语言:javascript
复制
<script src='myjs.php' type='text/javascript'></script>
票数 17
EN

Stack Overflow用户

发布于 2014-05-10 05:46:37

我评论说你的问题是不可能的,但它确实是可能的。不推荐使用,但是如果你不担心可能的安全漏洞,这里有一种方法来解决你的问题:

在与.js文件相同的目录中创建一个.htaccess文件,其中包含以下内容:

代码语言:javascript
复制
AddHandler application/x-httpd-php .js

<FilesMatch "\.js$">
    Header set Content-Type "text/javascript; charset=utf-8"
</FilesMatch>

这将以PHP的形式执行JavaScript文件,然后自动修复.js文件的Content-Type (因为当您添加php处理程序时,它们会被视为文本)。

注释:虽然这是一个快速而肮脏的解决方案,但更好的方法是使用Ajax (请参阅chiliNUT's Answer)

票数 5
EN

Stack Overflow用户

发布于 2015-05-31 07:43:59

您可以对.php文件执行ajax post请求。这是个小把戏,但很管用。

代码语言:javascript
复制
$.post('thePhpFile',{var1:var1,var2:var2},function(result){
    //Code to do with the resulted... like $("#div").html(result);
});

使用这个技巧,基本上你可以做任何你想做的事情

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23574306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档