簡體   English   中英

表達node.js從節點路由向另一個服務器發出獲取請求

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

因此,客戶端使用索引頁面上的按鈕發出獲取請求。 這會將一些信息發送到已設置如下的路由:

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

的HTML

<button ng-click="getInfo()">getInfo</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM