我只是想知道是否有一种更有效的方法使用Javascript来包含外部PHP文件:
<script type="text/javascript" src="widget.php?hash=2&b=NTdhZmI3"></script>
我是第一次使用这种类型的方法,我不确定使用这种类型的include是否会遇到麻烦。
任何帮助都会很感激。谢谢。
EDIT:脚本按预期工作,PHP文件输出为JS。我只是想看看这是否是一个好的做法,或者是否有更好的选择。
Javascript没有任何特定的方法来包含文件。我们必须在服务器端做到这一点。我想你在服务器端使用php,所以在php中包含你的文件,包括include()或require()。
但是在javascript中仍然有三种方法可以做到这一点。
-
脚本标签(你正在做的):脚本标签导入几乎每个文件(文本文件),但输出必须是js可接受的脚本或代码。您还可以包含其他格式。只是把它放在javascript变量和文档。写出来。比如你的文件会包含。
这样的元素var html = ' & lt;div class="header">更多头部内容
Ajax:使用Ajax,您可以调用任何文件,也可以根据需要操作其响应。但对于文件包括意义,它是没有用的。最好加载动态内容。以一个场景,你想包括头文件,你做了ajax现在会发生什么你的身体将首先加载,然后它将显示头(ajax是异步的),这将看起来太糟糕。
iFrames: iFrames是包含文件最简单的方式。但他们是丑陋的,不应该因为许多问题,如链接问题,破碎的html,操纵数据等,缓存问题。
这可以工作,或者您可以使用AJAX与jQuery:
$.ajax({
type: "GET",
url: "widget.php",
data: "hash=2&b=NTdhZmI3",
success: function(response) {
var script = document.createElement('script');
script.innerHTML = response;
document.getElementsByName[0].appendChild(script);
},
error: function (e) {
//error callback code goes here
}
});