[英]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 code
和client 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.