Ajax调用以加载当前时间

Ajax Call to Load Current Time

本文关键字:时间 加载 调用 Ajax      更新时间:2023-09-26

我需要从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">

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

$('#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>

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