如何使用客户端调用服务器端 NodeJS 函数 JavaScript

How to call a server-side NodeJS function using client-side JavaScript

我正在创建一个基本的登录系统,因为服务器端使用 NodeJS,但客户端没有。我必须在服务器端进行任何使用 NPM 包的调用。问题是我不知道如何从客户端调用服务器端 NodeJS 函数 JavaScript。基本上我不希望能够从客户端浏览器调用存储在服务器上的函数。

创建一个 REST API 并将请求参数映射到您需要使用的特定函数调用。请参阅 this tutorial 创建 REST API。

像这样在您的 nodejs 应用程序中创建路由:

app.get('/users', function(req, res) {
 // Your function to be called goes here.
});

现在您可以使用 ajax 从客户端 javascript 调用此代码。像这样:

$.ajax({
 type: 'GET'
 url: 'http://localhost:8000/users',
 success: function(response) { 
  console.log(response);
 },
 error: function(xhr, status, err) {
   console.log(xhr.responseText);
 }
});

您可以通过调用服务器上的 API 来完成此操作(特定的 url 将用于某些特定的工作)。在 JS 中,您需要 ajax。 Have a look here

//url be the api like '/api/something/'
$("button").click(function(){
  $.ajax({url: "demo_test.txt", success: function(result){
    // your response
  }});
});

在 Node 中我们有 axios 会做同样的事情 示例

axios.post('api/tobackend/function',{user:'a',password:'b'})
     .then((res)=>console.log('response from server'))

在支持中,您可能需要路由来处理请求。

router.post('api/tobackend/function',(reqs,resp)=>{console.log('backend')})
  1. 和Socket.io

  2. 在 JS 中

    let xhr = new XMLHttpRequest(); xhr.open('GET', '/user/sessionDestroy'); xhr.send();

在Node.JS