如何res.send Node.js / Express中的一个新的URL?
给定一个GET请求到URL X,你应该如何定义res.send,以便它提供一个完全独立的URL Y的响应?
即
app.get('/', function (req, res) { res.send to a new URL external of the app ('Success') });
对于这个话题的无知,先谢谢,并且提前道歉!
您只能响应请求源,即客户端。 没有响应另一个“外部url”(或另一台服务器)的东西。
但是,您可以向另一台服务器发出请求,等待它的响应,并响应我们的客户端。
app.get('/', (req, res) => { var requestOptions = { hostname: 'serverB.com', //url or ip address port: 8080, //default to 80 if not provided path: '/take-request', method: 'POST' //HTTP Method }; var exernalRequest = http.request(requestOptions, (externalResponse) => { //ServerB done responding externalResponse.on('end', () => { //Response to client res.end('data was send to serverB'); }); ); // Free to send anthing to serverB externalRequest.write(req.data); externalRequest.end(); });
您希望通过设置状态码并提供位置标题来redirect请求。 302表示临时redirect,301是永久redirect。
app.get('/', function (req, res) { res.statusCode = 302; res.setHeader("Location", "http://www.url.com/page"); res.end(); });
- 使用node和express服务获取(/ foo /:bar)请求,当res.render(模板)时,模板中的所有相对链接都是相对于/ foo而不是/
- body-parser节点模块返回“弃用”消息
- 浏览器中玉器服务器端传递的variables为空
- 为什么我不能使用来自相关mongo文档的id在GridFS上设置id
- 使用Firebase身份validation和Express身份validation社交login?
- 我的导航菜单有问题。 我正在使用Bootstrap 3,JQuery 2.3.1,Jade,ExpressJS和Node.js
- 使用ES6导入+导出关键字和Babel导入/导出Express路由器
- 即时生成子域名
- 如何使用expressJS在“post”路由器中获得价值?