我想知道是否有任何方法可以侦听控制台消息,并在收到控制台消息时对其执行操作。主要是,有没有办法在没有外部模块的情况下使用http模块来实现这一点呢?
其目标是在超文本标记语言中的click之类的事件上触发NodeJS函数或代码片段。如果还有一种方法可以做到这一点,那就太好了。但再一次,我想在没有外部模块的情况下做到这一点,只使用NodeJS中内置的模块。
发布于 2021-08-08 17:54:25
在JavaScript中使用onclick() function在单击元素时触发函数调用。然后使用fetch对nodejs服务器进行api调用。
发布于 2021-08-08 19:23:07
我知道@Haris Wilson已经得到了答案,但我只想提供一个代码示例。
我们可以使用fetch()向我们需要的任何网址发出请求,而不是尝试捕获控制台消息,然后在找到它时执行函数,这允许我们发出其他请求。
在这种情况下,我们可以使用url模块和http模块来分别解析url和服务API和网站。
const url = require('url')
const http = require('http')
const requestListener = async function (req, res) {
// Basic server setup
res.writeHead(200, {
'Content-Type': 'text/html'
});
res.end(/** Content here */)
// API
if (url.parse(req.url, true).pathname === '/APIcall') {
let arguments = url.parse(req.url, true).query
// Preform necassary actions here
}
}现在,我们可以使用onClick在网页JavaScript中调用函数,并使用fetch([API URL])提供NodeJS数据来执行操作。我们可以使用URL params来实现这一点,比如https://localhost:8080/APIcall?data=someData&moreParam=more-data,其中?data=someData&moreParam=more-data是URL params。
https://stackoverflow.com/questions/68703312
复制相似问题