表示node.js从节点路由向另一个服务器发出get请求

时间:2015-08-30 23:41:12

标签: javascript node.js express routes request

因此客户端使用索引页面上的按钮发出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('其他一些URL')永远不会收到任何信息。

另外(作为旁注),我似乎无法在快递API中找到为什么我们有

router.get('/')...

而不是

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

访问按钮页面并发出请求。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您想要对其他正在运行的其他REST API发出请求吗? 您可以使用node-rest-client

答案 1 :(得分:0)

我想你会混淆ip + localhostportserver code或者我错过了什么?

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

服务器代码:

client code

客户代码:

JS (angular.js)

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;

<强> HTML

$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
      }); 
};