我是一名主要使用JavaScript经验的html5开发人员。我开始使用Node.js学习后端。我没有这个问题/要求的具体例子。我想用JavaScript调用后端函数,但我不确定如何。我已经研究过Node.js的事件等,但我仍然不确定如何使用它们。
答案 0 :(得分:4)
与node.js进行通信就像与任何其他服务器端技术进行通信一样..您需要设置某种形式的api。你需要什么样的取决于你的用例。这将是一个不同的主题,但如果您需要持久连接与Web套接字一起使用,如果您只是需要偶尔连接,请使用休息。以下是使用rest api和express调用节点函数的示例。
var express = require('express');
var app = express();
app.post('/api/foo', foo);
function foo(req, res){
res.send('hello world');
};
app.listen(3000);
从前端你可以像这样发布到这个REST端点。
$.post("/api/foo", function(data) {
console.log( "Foo function result:", data );
});
答案 1 :(得分:2)
如果您刚开始使用node-js,请不要担心Websockets。
您可能希望创建一个REST API(最有可能),具体取决于您要完成的任务。如果需要,您可以将REST API置于某种身份验证之后。
REST API将具有用于创建/删除/更新和获取(查找)文档的端点,如给定用户。
我的建议是从已经工作的东西向后工作。在本地克隆此应用程序并查看控制器,以查看此应用程序如何与创建用户交互的示例。
https://github.com/sahat/hackathon-starter
创建一个在客户端到达端点时返回数据的控制器(如http://localhost:3000/user/create),您将需要创建一些HTML,它将通过表单HTML元素与端点进行交互。或者,您可以使用jQuery等库使用Javascript与该端点进行交互。
如果这对您有意义,请告诉我。绝对一个好的起点是克隆该应用程序并从那里向后工作。
答案 2 :(得分:0)
我可以建议尝试使用api-mount。它基本上允许将API作为简单的函数来调用,而不必考虑AJAX请求,获取,表达等。基本上在服务器中,您可以这样做:
const ApiMount = apiMountFactory()
ApiMount.exposeApi(api)
“ api”基本上是您愿意从Web应用程序调用的方法/函数的对象。
然后在Web应用程序上执行此操作:
const api = mountApi({baseUrl: 'http://your-server.com:3000'})
完成后,您可以像这样简单地调用您的API:
const result = await api.yourApiMethod()
尝试一下。希望对您有所帮助。