节点js发布请求而不刷新

时间:2017-10-25 09:07:18

标签: javascript node.js browser directory

是否可以在不重定向或刷新页面的情况下完成发布请求?

我正在浏览器中创建一个简单的文件浏览器。 客户端显示服务器的USB记忆棒内容。你知道,当我打开文件夹时,我将一个字符串发送到带有路径数据的服务器,因此服务器可以向我发送当前文件夹的内容。每当我打开一个文件夹(点击它)时,页面都会令人耳目一新,这是非常令人不安的。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

如果您在打开文件夹时发出激活的AJAX请求,则页面将不会刷新。您可以在服务器上设置将处理此请求并返回内容的路由。

答案 1 :(得分:1)

如果您使用html将请求发送到服务器,则浏览器将遵循等待对您的post命令的响应的默认行为。如果您希望以不同方式对待它,您可能希望按照建议使用AJAX。这样您的浏览器就不会重新加载页面,而是根据服务器响应执行您的代码。

有时这只是在jquery中禁用event.preventDefault()中的正常事件浏览器行为。

如果您的问题不同,请发布您的代码

答案 2 :(得分:1)

基本上,当用户在浏览器上打开文件夹时,您需要请求服务器让它知道您想要获取某些数据。

此操作是异步的,您绝对不希望每次服务器发送新数据时刷新用户的浏览器。

您可以在客户端脚本上开始实现以下内容:

function fetchData() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
       alert(this.responseText);
      }
   };
  xhttp.open("GET", "api/fetch-folder-content", true);
     xhttp.send();
   }

然后,您必须在服务器上编写路由(即,获取文件夹内容的GET路由),并在您想从服务器获取新数据时触发上述功能。