如何使用客户端调用服务器端 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')})
和Socket.io
在 JS 中
let xhr = new XMLHttpRequest(); xhr.open('GET', '/user/sessionDestroy'); xhr.send();
在Node.JS
我正在创建一个基本的登录系统,因为服务器端使用 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')})
和Socket.io
在 JS 中
let xhr = new XMLHttpRequest(); xhr.open('GET', '/user/sessionDestroy'); xhr.send();
在Node.JS