node.js文件怎么接收前端页面传过来的值,和前端怎么给node.js传值,目前我可以做到从node.js取到值

node.js文件怎么接收前端页面传过来的值,和前端怎么给node.js传值,目前我可以做到从node.js取到值,但是不能由前端传值给后端
这是前端的请求

axios({
        url: "http://localhost:3000/api/table",
        method: "GET"     
      }).then((ok) => {
        console.log(ok.data.data.list)
        for (let i = 0; i < ok.data.data.list.length; i++) {
          if(ok.data.data.list[i][0]!=0){
            this.DeviceAlarmData.push({
            clock: "Core",
            severity: ok.data.data.list[i][1],
            r_clock: "System Error",
            r_eventid: this.SnmpTime(ok.data.data.list[i][2]),
            IPname: ok.data.data.list[i][4]
          })
          }
          
        }
        console.log(this.DeviceAlarmData)

  }).catch((err) => {
    console.log(err)
  })


这是node.js的代码


app.get('/api/table', (req, res) => {
console.log(req)
    let oid = "1.3.6.1.4.1.52126.1.1.2.1";
    let session = snmp.createSession("192.168.3.155", "txwrite");
    let maxRepetitions = 20;
    session.table(oid, maxRepetitions, function(error, table) {
        if (error) {
            console.error(error.toString());
        } else {
            // This code is purely used to print rows out in index order,
            // ifIndex's are integers so we'll sort them numerically using
            // the sortInt() function above
            var indexes = [];

            for (index in table)
                indexes.push(parseInt(index));
            indexes.sort(sortInt);

            // Use the sorted indexes we've calculated to walk through each
            // row in order
            let arr = []
            for (var i = 0; i < indexes.length; i++) {
                // Like indexes we sort by column, so use the same trick here,
                // some rows may not have the same columns as other rows, so
                // we calculate this per row
                var columns = [];
                for (column in table[indexes[i]])
                    columns.push(parseInt(column));
                columns.sort(sortInt);
                arr.push([])
                for (var j = 0; j < columns.length; j++) {
                    arr[i].push("" + table[indexes[i]][columns[j]])
                }

                // Print index, then each column indented under the index
                console.log("table " + table)
            }
            res.json({
                code: 200,
                message: '成功',
                data: {
                    list: arr
                }
            });
        }
        session.close();
    });

})

参考GPT和自己的思路:

要让前端页面能够向 Node.js 传值,可以使用 POST 或 PUT 等 HTTP 请求方法,具体实现可以使用 Express 的 app.post()app.put() 方法来处理前端发来的数据。

例如,你可以在前端使用 axios.post() 方法来发送一个 POST 请求,请求数据可以以 Object 或者 FormData 等形式发送。

Node.js 中,你也需要使用 body-parser 模块来解析前端发送的数据,然后进行处理。具体实现可以参照如下代码示例:

前端代码:

axios({
  method: 'post',
  url: '/data',
  data: {
    name: 'vue.js',
    author: 'Evan You'
  }
})

Node.js 代码:

const bodyParser = require('body-parser');
const express = require('express');
const app = express();

app.use(bodyParser.json()); // 解析 application/json 类型数据
app.use(bodyParser.urlencoded({ extended: true })); // 解析 application/x-www-form-urlencoded 类型数据

app.post('/data', (req, res) => {
  console.log(req.body); // { name: 'vue.js', author: 'Evan You' }
  res.send('success');
});

app.listen(3000, () => {
  console.log('server started');
});

以上代码示例中,app.use(bodyParser.json()) 方法用于解析 POST 请求中的 JSON 格式的数据,app.use(bodyParser.urlencoded({ extended: true })) 方法用于解析 POST 请求中的 URL 编码形式的数据。app.post() 方法用于接收前端发送的 POST 请求,并且可以获取请求中的数据 req.body,然后进行处理。最后,使用 res.send() 方法给前端发送一个响应结果。

如果使用 GET 请求来向 Node.js 传递参数,前端页面可以使用 QueryString 或 RESTful API 的形式传递参数,具体实现方法类似,需要在 Node.js 中通过 req.queryreq.params 来获取参数数据。

该回答引用GPTᴼᴾᴱᴺᴬᴵ
在Node.js中接收前端页面传递的值可以使用req.body或req.query来获取。其中,req.body适用于POST请求,可以通过中间件body-parser来解析请求体;req.query适用于GET请求,可以直接获取URL中的参数。

例如,如果前端通过POST请求传递数据,可以在Node.js中使用以下代码接收:

const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.post('/api/data', (req, res) => {
  const data = req.body;
  // 处理数据
  res.send('数据已接收');
});


在前端传递数据时,可以使用axios库进行发送。通过axios.get(url, [config])或axios.post(url, data, [config])来发送GET或POST请求。其中,url表示请求的地址,data表示要发送的数据,config表示请求配置(例如请求头、超时时间等)。

例如,在前端发送POST请求传递数据,可以使用以下代码:

axios.post('/api/data', {
  name: '张三',
  age: 20
}).then(res => {
  console.log(res.data);
}).catch(err => {
  console.error(err);
});


在这个例子中,前端发送了一个包含name和age字段的对象,用于向Node.js传递数据。Node.js在接收到请求后,可以通过req.body来获取这个对象。