是否可以从Javascript / HTML调用Node JS脚本?

时间:2016-07-20 22:32:39

标签: javascript html node.js express

我在服务器上使用带有express的Node JS。我试图使用Javascript每五分钟调用我的节点js脚本。我找不到办法在网上任何地方这样做..这甚至可能吗?或者使用我的Express服务器有更好的方法吗?

1 个答案:

答案 0 :(得分:3)

如果您需要每五分钟为每个开放客户端运行代码,请从AJAX (HTTP) request回调中制作setInterval

// client-side JS
setInterval(function makeIntervalRequest() {
  // `fetch` is a built-in HTTP request function. 
  // It's in recent browsers. You could use a library like jQuery's $.ajax 
  //  or the built-in XMLHttpRequest for older browsers.
  // "/ping" is the URL to request.
  fetch("/ping");
}, 5 * 60 * 1000);

由于浏览器控制此代码,因此每个客户端都会运行一次。如果有6个用户打开了您的页面,那么您将在5分钟的时间内收到6个请求。

如果您需要每五分钟在服务器上运行一次,请在服务器代码中使用setInterval

// server-side JS
setInterval(function runScheduledAction() {
  doTheScheduledAction();
}, 5 * 60 * 1000);