我目前正在使用此代码:
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<div class="div"></div>
<script>
var timer = 10;
var source = 'file.php';
$(document).ready(function() {
refresh();
setInterval(function() { refresh() }, timer * 1000);
});
function refresh() {
$('.div').load(source);
}
</script>
但是,如果我添加一个指向file.php文件的链接,比如http://example.com/file.php,它就不会加载任何内容。
我想做的是能够加载远程文件。
我该怎么做呢? 或者出于安全原因禁用此功能?
我的控制台发出以下错误:
XMLHttpRequest cannot load SOURCE. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'URL' is therefore not allowed access.
SOURCE是我尝试加载的地方,而URL是我尝试加载源代码的地方。
答案 0 :(得分:1)
我认为jquery load()函数只能加载来自同一域的内容。
您可以使用跨域名ajax调用(http://api.jquery.com/jquery.ajax/上的文档)来获取结果,具体取决于您尝试获取的内容。
答案 1 :(得分:0)
从我的理解你正在尝试获取'file.php'代码文本..这是不可能的服务器端脚本只输出他们的屏幕。例如echos / print / Var dump。
如果您尝试在远程服务器上激活php脚本,可以使用JQuery进行post / get并获取脚本回复。
答案 2 :(得分:0)
好的。
我的问题是我没有启用CORS。
我通过将以下代码添加到我的请求文件(file.php)
的顶部来修复此问题header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET');
header("Access-Control-Allow-Headers: X-Requested-With");
现在可行。
让原点成为任何人是不安全的,我不推荐,但对于我正在做的事情,这很好。