Javascript AJAX不支持bluehost

Javascript AJAX不支持bluehost,javascript,ajax,shared-hosting,Javascript,Ajax,Shared Hosting,我有两个简单的页面 test.php: <div id="demo"></div> <script> function loadDoc() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.get

我有两个简单的页面

test.php:

<div id="demo"></div>


<script>
function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("demo").innerHTML =  this.responseText;
    }
  };
  xhttp.open("GET", "sse.php", true);
  xhttp.send();
}

var myVar = setInterval("loadDoc()", 2000);
</script>

函数loadDoc(){
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
document.getElementById(“demo”).innerHTML=this.responseText;
}
};
open(“GET”,“sse.php”,true);
xhttp.send();
}
var myVar=setInterval(“loadDoc()”,2000);
sse.php

<?php
echo time();
?>

问题是-在我的私人电脑-它的工作完美。 每隔2秒,sse.php就会拉取一次,demo div也会相应地改变

但是,在我的Bluehost网站上,同样的脚本——不起作用。 它拉了一次(两秒钟后),就这样——不再拉了

有趣的是,如果我手动刷新sse.php(在另一个选项卡中) 演示div的内容确实发生了变化! 我试图找出问题所在,但我没有主意

有什么想法吗

多谢各位


我在这里描述了一个类似的问题:

去拿我写的代码,看看是否适合你

编辑:

电话是:

ajaxGetData('http://whateverurl.com', 'containerObjectId');
以及辅助功能:

function ajaxGetData(url, objId)
{
var request;
if (window.XMLHttpRequest) 
{ 
    request = new XMLHttpRequest();
} 
else if (window.ActiveXObject) 
{ 
    try 
    {
        request = new ActiveXObject('Msxml2.XMLHTTP');
    } 
    catch (e) 
    {
    try {
        request = new ActiveXObject('Microsoft.XMLHTTP');
    } 
    catch (e) {}
    }
}

if (!document.getElementById(objId))
{
    return false;
}
var obj = document.getElementById(objId); /* <= fix: added var */
ajaxLoadingIndicator(obj);

/* YOU MAY NOT NEED TO ADD/USE EVENT HANDLERS */
request.addEventListener("progress", function(event){ajaxCallBack(event, obj)}, false);
request.addEventListener("load", function(event){ajaxCallBack(event, obj)}, false);
request.addEventListener("error", function(event){ajaxCallBack(event, obj)}, false);
request.addEventListener("abort", function(event){ajaxCallBack(event, obj)}, false);

request.onreadystatechange = function() 
{
    if(request.readyState === 4) 
    { 
        if(request.status === 200) 
        { 
            obj.innerHTML  = request.responseText;
        }
        else
        {
            obj.innerHTML = '<div id="'+id+'">Error loading data.</div>';
        }
    }
};
/* in my case i'm using asynch AJAX request (true) */
request.open('GET', url, true);
request.send(null);
}
/* YOU CAN GO AND SHOW FANCY LOADERS HERE */
function ajaxLoadingIndicator(obj)
{
idBase = obj.id.split("_");
id = idBase[0]+"_ajax_loading";
obj.innerHTML = '<div id="'+id+'">Loading</div>';
}

/* IF YOU DONT WANT EVENT HANDLERS, YOU DON'T NEED THE FOLLOWING FUNC */
function ajaxCallBack(e) 
{
// Handle each event
switch(e.type)
{
    case 'error':
    {
        idBase = obj.id.split("_");
        id = idBase[0]+"_ajax_error";
        obj.innerHTML = '<div id="'+id+'">Server unavailable. Error loading data.</div>';
    } break;
}
}
函数ajaxGetData(url,objId)
{
var请求;
if(window.XMLHttpRequest)
{ 
请求=新的XMLHttpRequest();
} 
else if(window.ActiveXObject)
{ 
尝试
{
请求=新的ActiveXObject('Msxml2.XMLHTTP');
} 
捕获(e)
{
试一试{
请求=新的ActiveXObject('Microsoft.XMLHTTP');
} 
捕获(e){}
}
}
if(!document.getElementById(objId))
{
返回false;
}

var obj=document.getElementById(objId);/*经过进一步研究-将这些行添加到我的sse.php文件顶部并刷新此页面,解决了我的问题。谢谢

<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

echo time();
?>


<代码>我正在猜测,但是看看网络选项卡中的HTTP头,并考虑你的间隔函数的上下文是false。试试这个:<代码> var Myvar=SetTimes(Load DOC,2000)
GET requests cache.…这就是网站运行速度的方式,标题显示它将在未来7天内被缓存。我是否可以请求您在您的答案周围添加更多的上下文。仅链接的答案很难理解,如果网站关闭或不工作,很容易变得无效。这将有助于询问者和未来的读者了解f你可以将你所指的链接/博客中最相关的部分复制到这篇文章中。