首页 > 解决方案 > 每次页面加载时如何对端点进行网络调用

问题描述

我在 ( http://127.0.0.1:8080 ) 的本地服务器上运行网站。

我有一个名为 track 的文件,位于 api/track ,其中 api 只是一个文件夹。

我有一个位于 js/main.js 的文件名 main.js。

最后,我的 index.html 文件与 /api 和 /js 位于同一级别。

每次加载页面 index.html 时,我都想对此端点(api/track)进行网络调用。

另外,我想包括一个时间戳 ts(自 EPOCH 以来的毫秒数)。url 的一个示例是 /api/track?ts=1594280202864。我不需要使用此调用的结果。

这是我所做的,但我不确定它是否在做我想要的,尤其是网络调用部分。有人可以帮忙吗?谢谢

const update = () => {
    var dt = new Date();
    document.getElementById("date").innerHTML = dt;
    
    //date in millisecodn since EPOCH
    var dtInMilSec = dt.getTime();

    fetch('/api/track/dtMilSec')
        .then(response => response.json())
        .then(data => {
            console.log(data)
        });
};
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>The Date</title>
    <link href="style/main.css" rel="stylesheet" />
  </head>
  <body onload="update()">
    <h1>What's today's date?</h1>
    <p>Today is: <span id="date"></span></p>
  <script src="js/main.js"></script>
  </body>

标签: javascriptxmlhttprequestfetch-api

解决方案


https://stackoverflow.com/a/25984032/14649968

也许在相关线程上查看这个答案,并update()从 main.js 脚本中的事件侦听器中调用您的函数DOMContentLoaded,而不是从 html 本身的 onload attr 调用它?

document.addEventListener('DOMContentLoaded', () => update(), false);


推荐阅读