Express node.js从node路由向另一个服务器发出get请求

express node.js making a get request to another server from node route

本文关键字:node 请求 服务器 get js 路由 Express 另一个      更新时间:2023-09-26

因此客户端使用索引页上的按钮发出get请求。这将向已设置的路由发送一些信息,如下所示:

app.js

var route = require('./routes/index');
var button = require('./routes/button');
app.use('/', index);
app.use('/button', button);

每当有人按下按钮时,请求就从客户端目录发送到节点框架。如果请求被发送到'localhost:port/button',那么上面提到的button.js文件将接收请求。在button。js文件中我们有如下内容:

var express = require('express');
var router = express.Router();
var someData = '';
router.get('/', function (req, res, next) {
    //make a get request here such that someData
    //receives whatever the request returns from another
    //set up framework(i.e. Spring...)
    someData = getRequest('some other URL');
    res.send(someData);
};
module.exports = router;

这里的问题是,路由器get请求中的getRequest('some other URL')从未接收到任何信息。

也(作为旁注),我似乎无法在express API中找到为什么我们有

router.get('/')...
不是

router.get('/button')...

访问按钮页并向其发出请求。

任何帮助将非常感激!

您想要向其他地方运行的其他REST API发出请求,对吗?您可以使用node-rest-client。

我猜你是混淆了什么是server codeclient code还是我错过了什么?

我会试着解释它的工作方式:

服务器代码:

var express = require('express');
var router = express.Router();
var someData = '';
router.get('/yearStations/:id', function (req, res, next) {
    //make a get request here such that someData
    //receives whatever -the id parameter- the request returns from another
    //This is express.js
    someData = getYourDataFromDataBase(req.params.id);
    res.send(someData);
};
module.exports = router;
客户机代码:

JS (angular.js)

$scope.getInfo = function() { //here you make the GET call to the server
    $http.get("http://localhost:XXXX/yearStations/Spring").then(
      function(success){
        alert(success.data);//this should be your data
      }); 
};