我正在使用express nodejs框架创建rest web服务。我想从first.js导航到second.js页面,需要向它发送数据和标题。
first.js
const express = require("express");
const http = require("http");
var router = express.Router();
var options = {
host: "localhost",
port: "3000",
path: "/second",
method: "POST"
};
router.get("/", function(req, res, next) {
http.request(options);
});
module.exports = router;
second.js
var express = require("express");
var router = express.Router();
router.get("/", function(req, res, next) {
res.send("Hello");
});
module.exports = router;
app.js
app.use("/first", first);
app.use("/second", second);
我尝试过如上所述,但它没有导航到second.js网络服务。有谁知道我做错了什么?
答案 0 :(得分:2)
您的代码未执行重定向。实际上,您正在从第一个端点到第二个端点之间进行呼叫,并且更像是代理。
通过调用http://expressjs.com/en/api.html(搜索res.redirect)中的明确文档中定义的res.redirect来执行重定向。重定向返回HTTP重定向响应,用户浏览器将遵循该重定向响应到新URL。不幸的是,重定向不允许传递头文件,它将作为GET调用执行(这是重定向的设计目的。)。您可以在URL中包含所需的任何查询参数,并设置cookie(请参阅How to forward headers on HTTP redirect)
答案 1 :(得分:1)
我认为您在请求中使用POST
但只在第二个端点上设置GET