7
我试图让一点PHP在.js文件中执行,但显然不知道如何正确执行。在.js文件中执行PHP代码
基本上,代码是添加一些HTML标签到我的页面,我用于滑出式联系表单。但是联系表单本身是由Wordpress通过简码完成的。所以我试图让代码中的短代码工作,使表单滑出。
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。
PHP是JavaScript的调用之前执行的任何事情,因此这将**“从来没有” **工作。 –
尝试将文件另存为.php而不是.js。然后将此代码放在'
我评论说,上你的问题是不可能的,但这确实是可能的。 这是不推荐,但如果你不担心可能的安全漏洞,这里是一个方法来完成你的问题:
创建
.htaccess
文件在同一目录作为您.js
文件,具有下列内容:这将执行JavaScript文件作为PHP,然后修复的Content-Type的.js文件自动(因为当你添加PHP处理他们视为文本)。
注意:虽然这是一个快速和肮脏的解决方案,更好的办法是使用Ajax(见chiliNUT's Answer)
来源
2014-05-09 21:46:36
你可以建议一个更好的方法,因为你知道这个缺点?顺便说一下,我认为主要问题不是安全漏洞。 –
我想要展示的表单有它自己的安全/验证,但是我认为你的意思是它会打开不同的安全问题。我可以使用确切的.js文件名,而不是使用毯子“.js”,因此它只影响一个.js文件,而不是影响我网站上的所有.js文件? –
@KerynGill是的,你可以用'^ filename.js $'替换'\ .js $'。 –
我认为你可以做这样的事情使用AJAX:
JS代码:
do_shortcode_file。PHP必须有这样的事情:
PHP代码:
见AJAX Tutorial at w3schools.com一些细节和关于Ajax的一个很好的例子。
来源
2014-05-09 22:01:46
假设你的文件名是myscript.js:
在你的脑袋标签(它必须是一个可执行的PHP文件):
... ... 这样 你能够执行该文件,就像它是一个PHP文件
来源
2014-05-09 22:06:55 Hidran
您可以对.php文件执行ajax post请求。这是一个有点使坏,但它的工作原理
的那套把戏,你可以basicaly做你想做
来源
2015-05-30 23:43:59 Jayo2k