我不能在javascript函数中使用php include

时间:2014-03-21 14:44:18

标签: javascript php include

我尝试在javascript函数中执行此操作:

document.getElementById('menuwrap').innerHTML = '<?php include("deffiles/menudefde.html")?>';

每当我插入php部分时,我的整个javascript都停止了工作。所以剩下的就不再是执行了。有人帮我吗?

编辑: 这样:

document.getElementById('menuwrap').innerHTML = '<?php include("deffiles/menudefde.html")?>';

在线成为:

document.getElementById('menuwrap').innerHTML = '<html>
<body>
<div id="menu">
<ul>
<li id="menutext1"><a href="home.html">Home </a></li>
<li id="menutext2"><a href="afbeeldingen.html">Bilder</a></li>
<li id="menutext3"><a href="links.html">Links</a></li>
<li><a href="contact.html">Contact</a></li>

</ul>
</div>';

编辑:

我想要的是我可以更改我的菜单按钮,这些按钮在html文件中说明。所以我使用javascript按钮,但文件是用PHP调用的。还有另一种方法吗?

3 个答案:

答案 0 :(得分:0)

您的/menudefde.html文件中可能有一些字符在Javascript字符串中是非法的。很可能是换行符,你也可以使用未转义的',这将终止字符串。

如果要将其包含在类似的字符串中,则需要转义每个此类字符。

但是,对您的整体问题可能有更好的解决方案。

答案 1 :(得分:0)

如果您的服务器正确解释了php代码,那么.html文件可能不是JS中的有效字符串。

请检查它是否没有未转义的新行,没有&#39;人物等或逃避它们。

如果发现此类错误,请检查您的控制台日志。

您可以使用json_encode函数来转义这些字符。

答案 2 :(得分:-2)

使用JS和PHP这是一种奇怪的方法。但是,如果你想这样做:

如果您不需要在include中执行PHP,可以这样做:

document.getElementById('menuwrap').innerHTML = '<?php print str_replace("'", "\\'", file_get_contents('deffiles/menudefde.html')); ?>';