如何通过html元素监听http请求?

she*_*ing 1 html javascript

我使用一个<a>元素来下载HTML页面中的文件。这需要几秒钟,所以我想通过监听http响应来显示负载。

有没有一种方法可以在单击<a>元素时显示加载,并在下载完成后关闭加载?

这就是我要的:

<a href="https://..." download>download file</a>
Run Code Online (Sandbox Code Playgroud)

Le *_*ang 5

有两种方法:

  1. 使用ajax监听事件或从后端接收数据:
$(document).ready(function(){
  $("button").click(function(){
    $.ajax({url: "/getData", success: function(result){
      $("#div1").html(result);
    }});
  });
});
Run Code Online (Sandbox Code Playgroud)
  1. 另外,您可以使用socket.io侦听来自Back-end的事件。

在服务器发送事件:

socket.emit('sendData', 'Your Data');
Run Code Online (Sandbox Code Playgroud)

在客户端监听事件:

 socket.on('sendData', function(data) {
        console.log(data); // Your Data
      });
Run Code Online (Sandbox Code Playgroud)