如何正确调用从 Node.JS 到 Express.JS 的函数
How to correctly call a function from Node.JS to Express.JS
我有一个完整的脚本作为解析器。该脚本是用 NodeJS 编写的,并且可以正常运行。脚本 return 是一个数据数组,并将其保存到我的电脑中。
我想从前端 运行 这个脚本,点击一个按钮。据我了解,我必须向服务器发送请求?建议对服务器使用 Express,但我仍然没有弄清楚如何从中调用第三方脚本,更不用说 return 从中调用任何数据了。
现在我想要的只是当我请求根目录“/”时我的脚本 运行 并向我发送 json 作为响应(或者例如 json 文件)
const express = require('express')
const runParser = require("./parser");
const app = express()
const port = 3000
app.get('/', async (req, res,next) => {
await runParser()
next()
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
你只需要 Express 是这样的:
const express = require('express');
const app = express();
const runParser = require("./parser");
const port = 3000;
app.get("/", (req, res) => {
runParser().then(results => {
res.json(results);
}).catch(err => {
console.log(err);
res.status(500).send("error");
});
});
app.listen(port, () => {
console.log(`Server running on port ${port}`);
});
然后,您可以通过以下任一方式访问:
http://localhost:3000
来自您的本地主机或
http://yourdomain.com:3000
在浏览器中或通过从网页 Javascript.
发出对所需 URL 的 ajax 调用
我个人不会将这种类型的 activity 放在对 /
的 GET 请求中,因为它可能会被网络爬虫、搜索引擎等攻击...
它可能属于 POST(因此爬虫不会发布它),我个人会把它放在某个路径名上,例如:
app.post("/runparser", (req, res) => {
// put your code here
});
然后使用表单提交或 ajax 调用 URL 来触发它。
我有一个完整的脚本作为解析器。该脚本是用 NodeJS 编写的,并且可以正常运行。脚本 return 是一个数据数组,并将其保存到我的电脑中。 我想从前端 运行 这个脚本,点击一个按钮。据我了解,我必须向服务器发送请求?建议对服务器使用 Express,但我仍然没有弄清楚如何从中调用第三方脚本,更不用说 return 从中调用任何数据了。 现在我想要的只是当我请求根目录“/”时我的脚本 运行 并向我发送 json 作为响应(或者例如 json 文件)
const express = require('express')
const runParser = require("./parser");
const app = express()
const port = 3000
app.get('/', async (req, res,next) => {
await runParser()
next()
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
你只需要 Express 是这样的:
const express = require('express');
const app = express();
const runParser = require("./parser");
const port = 3000;
app.get("/", (req, res) => {
runParser().then(results => {
res.json(results);
}).catch(err => {
console.log(err);
res.status(500).send("error");
});
});
app.listen(port, () => {
console.log(`Server running on port ${port}`);
});
然后,您可以通过以下任一方式访问:
http://localhost:3000
来自您的本地主机或
http://yourdomain.com:3000
在浏览器中或通过从网页 Javascript.
发出对所需 URL 的 ajax 调用我个人不会将这种类型的 activity 放在对 /
的 GET 请求中,因为它可能会被网络爬虫、搜索引擎等攻击...
它可能属于 POST(因此爬虫不会发布它),我个人会把它放在某个路径名上,例如:
app.post("/runparser", (req, res) => {
// put your code here
});
然后使用表单提交或 ajax 调用 URL 来触发它。