使用Nodejs

时间:2016-04-05 13:48:38

标签: node.js redirect

我需要将单个http请求重定向到多个服务器。

res.writeHead(301,{'Location':urlToRedirect1}); res.writeHead(301,{'Location':urlToRedirect2});

我无法使用上面的代码重定向。只有最后一个网址(urlToRedirect2)才能正确重定向。

是否可以使用res.writeHead重定向多个服务器。如果没有,我能否知道替代方案。

1 个答案:

答案 0 :(得分:0)

查看request module,从上面的声音中你不需要重定向;类似下面的内容(注意我假设你收到一个表格帖子,请求的正文是你需要转发的。

function makeRequest(callback){
    var request - require('request');
    var dataToSend = req.body;
    var url1 = 'http://server1/resource';
    var url2 = 'http://server2/resource';

    // Send to server 1
    request.post(url1, dataToSend, function(err, response, body){
        if(err) return callback(err);
        // Make the second call
        request.post(url2, dataToSend, function(err2, response2, body2){
         if(err2) return callback(err2);
         // Both calls are now complete
         callback(null);
    });
}

如果你需要进行两次以上的调用,下面的代码会变得混乱,所以你可能想要创建一个makeRequest函数来接收要调用的URL和数据作为参数并在循环中调用它