首页 > 解决方案 > 如何从 javascript 文件中调用 NodeJS 函数(并获取参数)?

问题描述

我有 HTML、javascript 和 2 个 NodeJS 文件。一个节点文件是服务器,另一个是函数。那么,如何从 javascript 文件中调用 NodeJS 函数(并获取参数)?以下是它们的简要外观:

index.js(服务器)

const bodyParser = require('body-parser')
const cors = require("cors")

const app = express()
const db = require('./queries')
const port = 3000

app.use(bodyParser.json())
app.use(
  bodyParser.urlencoded({
    extended: true,
  })
)

app.use(
  cors({
    //Omogućen pristup sa svih adresa
    origin: "*"
  })
)

app.get('/', (request, response) => {
  response.json({ info: 'Node.js, Express, and Postgres API' })
})

app.get('/konzola', db.getKonzola)
app.get('/blagajna', db.getBlagajna)
app.get('/knzid/:p_knz_sif', db.getKnzId)

app.listen(port, () => {
  console.log(`App running on port ${port}.`)
})

query.js(其他节点文件) 一个函数示例

...

const getKonzola = (request, response) => {
  pool.query('SELECT * FROM konzola where knz_id in (1,2,3) ORDER BY knz_id', (error, results) => {
    if (error) {
      throw error
    }
    response.status(200).json(results.rows)
  })
}

module.exports = {
  getKonzola
}

javascript.js

const request = new XMLHttpRequest();
request.open('GET',`http://ip4_adress:3000/konzola`);
request.send();
request.onload = ()=> {
  console.log(request);
  if(request.status === 200){
    console.log(JSON.parse(request.response));
  } else {
    console.log(request);
    console.log(`error ${request.status}`);
  }
}

标签: javascriptnode.js

解决方案


推荐阅读