Node.js 和 ExpressJS body-parser 包检索数据

Node.js and ExpressJS body-parser package retrieve data

好的,第一次使用 Node,我正在尝试将数据发送到 backend/index.js

要求

有什么问题

post 是 200 成功,有效。

但是当我导航到 :

http://localhost:8080/backend/index

我得到:

Cannot GET /backend/index

我哪里错了?

这是我的前端postpost

var settings = {
  "async": true,
  "crossDomain": true,
  "url": "http://localhost:8080/backend/index.js",
  "method": "POST",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  },
  "data": {
    "id": "1223",
    "token": "223",
    "geo": "ee"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

我正在尝试从后端节点检索此数据并将其存储为变量。

backend/index.js

// grab the packages we need
var express = require('express');
var app = express();
var port = process.env.PORT || 8080;

// routes will go here

// start the server
app.listen(port);
console.log('Server started! At http://localhost:' + port);

var bodyParser = require('body-parser');
app.use(bodyParser.json()); // support json encoded bodies
app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies

// POST http://localhost:8080/api/users
// parameters sent with
app.post('/backend/index', function(req, res) {
    var user_id = req.body.id;
    var token = req.body.token;
    var geo = req.body.geo;

    res.send(user_id + ' ' + token + ' ' + geo);
});

使用屏幕截图进行更新

因为你 Post Api 并且你无法在没有参数的情况下获得结果。 你的 Post Api 将不会给出输出,直到你在网络浏览器上只点击 url,所以 Post Api.

需要邮递员

现在您可以毫无问题地获得输出。

提前致谢

我认为你没有指定 GET 方法,你可以这样做

app.get('/', function(req, res) {
    res.send('do something 1');
});

app.get('/backend/index', function(req, res) {
    res.send('do something 2');
});

希望对您有所帮助!