Ajax调用加载当前时间

时间:2013-07-27 18:45:29

标签: javascript html css ajax

我需要调用来自ajax请求的代码,此调用是针对当前时间的。我不知道怎么做我设置了一个带有工作时钟的html文件。我打电话给的页面没有显示它从$ container1加载文本但没有时钟和日期的时钟?有人知道为什么吗?如果容器1中的文本加载正常,为什么当前时间和日期时钟不起作用?

到目前为止,我在html中看到了数据被抓取的内容。

var mydate=new Date()
var year=mydate.getYear()
if (year < 1000)
year+=1900
var day=mydate.getDay()
var month=mydate.getMonth()
var daym=mydate.getDate()
if (daym<10)
daym="0"+daym
var dayarray=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
var montharray=new Array("1","2","3","4","5","6","7","8","9","10","11","12")
var date=new Date();
var hours=date.getHours();
var minutes=date.getMinutes();
 var ampm = hours >= 12 ? 'PM' : 'AM';
  hours = hours % 12;
  hours = hours ? hours : 12;
minutes = minutes < 10 ? '0'+minutes : minutes;
var s=date.getSeconds();
s = s < 10 ? '0'+s : s;
var Time = "Current Time:&nbsp;  ";
var Text = "Last Updated:  ";

      document.getElementById('time').innerHTML =Time+" "+dayarray[day]+" "+montharray[month]+"/"+daym+"/"+year+" "+hours+":"+minutes+":"+s+" "+ampm; 
document.getElementById('time2').innerHTML =Text+" "+dayarray[day]; 
}
}
</script>
</head>
<body>
<div id="container1">
<div id="left">By TrueLogic Company
    <p>Edited By International Electronic Components</p>
</div>
<div id="right">
    <div id="time2"></div>[LastBuuild]
    <p>
        <div id="time"></div>
    </p>
</div>
</div>
</body>
</html>

并且在页面中我希望它加载到香港专业教育学院尝试了几次,但这就是我现在所拥有的。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> 
<script type="text/javascript">

function refreshPage () {
     var page_y = document.getElementsByTagName("body")[0].scrollTop; 
     window.location.href = window.location.href.split('?')[0] + '?page_y=' + page_y;

}
     window.onload = function () {
         setTimeout(refreshPage, 3000);
            if (window.location.href.indexOf('page_y') != -1 ) {
                var match = window.location.href.split('?')[1].split("&")[0].split("=");
                document.getElementsByTagName("body")[0].scrollTop = match[1];

    }

{
     $('#container').load('C:/Program%20Files/TrueChem/Data/dashboard/src/Test.HTML #container1');
  }
}
</script>

<div id="container">

1 个答案:

答案 0 :(得分:0)

这里有一个很多不必要的代码,但如果我猜我会说问题是这样的:

$('#container').load('C:/Program%20Files/TrueChem/Data/dashboard/src/Test.HTML #container1');

您正尝试通过JavaScript从本地文件系统加载文件。这对明显的安全性原因不起作用。 (想象一下,如果任何网站可以访问您的本地文件。)

当您使用浏览器调试工具时,这是否会尝试发出AJAX请求?它会抛出错误吗? (我猜/希望后者。)

您的AJAX请求需要是HTTP主机(基本上是Web服务器),它将响应相关数据。 JavaScript无法加载本地文件。

编辑:根据下面的评论主题,听起来问题的核心在于您尝试通过另一个页面的AJAX加载一些JavaScript代码。这可能行不通。该页面实际上没有您正在寻找的值,它具有生成值的代码。当您通过AJAX获取代码时,可能没有执行该代码。

但是,因为它是你所追求的代码而不是页面的内容,所以你甚至不应该通过AJAX加载页面。您应该将代码放在单独的文件中,并在两个页面上引用该文件。

只需将JavaScript代码移动到.js文件中,并在两个页面上引用该文件:

<script type="text/javascript" src="dateTimeCalculations.js"></script>

这将使您可以访问生成值的代码,并且可以将该值填充到页面上的元素中。