我有两个php文件。第一个名为index.php,第二个名为data.php。我试图将文件data.php中的内容导入index.php。最初它使用include_once语句给了我一个错误,但我现在可以使用它:
<?php $str = sprintf(include_once ("/www/index1.php"));
echo $str; ?>
现在,我希望这部分每分钟刷新一次,而无需重新加载整个页面。
我尝试在index.php中插入以下内容:
<!-- Div refresh function -->
<script type="text/javascript">
var auto_refresh = setInterval(
(function () {
$("#data").load("/www/data.php"); //Load the content into the div
}), 60000);
</script>
<div id="data"><?php $str = sprintf(include_once ("/www/data.php"));
echo $str; ?></div>
我承认,它看起来有点不对,猜猜是什么,它不起作用。我这是因为它试图在de script-part中加载data.php然后我尝试再次将文件包含在&lt; DIV&GT;语句来。我无法让它发挥作用。
我查看了各种示例,但无法使用sprintf函数找到任何示例。我必须承认我对java,ajax和/或json的了解不是很好。
希望有人可以提供帮助!
答案 0 :(得分:1)
Javascript是一个前端脚本。如果你想通过ajax加载一些东西,你应该知道它基于js。虽然js基于Web浏览器。因此,请确保您可以先从浏览器访问该网址。
您可以从php访问/www/data.php
,但如果您想在js中加载它,请确保可以先从网络访问它。您如何访问index.php
?
如果您可以通过index.php
访问http://xx.com/index.php
,然后将$("#data").load("/www/data.php");
更改为$("#data").load("http://xx.com/data.php");
,您会发现它有效。
更新:根据您的评论,尝试$("#data").load("data.php");
此外,您可以使用开发人员工具对其进行调试。如果js出错,你会看到它。
答案 1 :(得分:1)
你做错了什么。
您需要做什么:
data.php
)。loader.php
)。如果你使用的是php(我看到你是),你file_get_contents
可以data.php
,然后是echo
。JS:
function loadData() {
$("#data-container").load("loader.php", function() {
console.log("Load was performed.");
});
}
loadData(); // load first then refreshing every 1 min:
setInterval(loadData, 60000);
HTML:
<div id="data-container"></div>
那么,这一切都在这里做什么?
loader.php
; loader.php
执行(我希望你的服务器执行php,呵呵?)并获得data.php
的内容(因此在这种情况下data.php
可以扩展任何文件名; {{ 1}},data.txt
等);然后它data.log
那个内容; echo
的内容回复(loader.php
},并将其粘贴到您的data.php
中。 这些步骤每1分钟重复一次。
注意:如果您的上下文中的#data-container
不是编程代码(只是一些数据),您只需创建data.php
并直接在jQuery脚本中加载它。它不需要任何php-loader文件等。