问题: 问题: 我从服务器应用程序收到一个收到的 HTTP 请求 。 此请求类似 : < a href=" http://example.com? id=abc" rel= " no follown noreferr" > http://example. com?id=abc 。 我需要解析此请求, 修补额外的 URL 参数, 调用主机 html 文件 。 因此 :
http://example.com?id=abc gt; >http://example.com:8080/temp.html?id=abc&name=cdf 。
因此客户应该看到临时.html。
这里的代码是:
function onRequest(request,response) {
if(request.method == GET ) {
sys.debug("in get");
var pathName = url.parse(request.url).pathname;
sys.debug("Get PathName" + pathName + ":" + request.url);
var myidArr = request.url.split("=");
var myid = myidArr[1];
//Call the redirect function
redirectUrl(myid);
}
http.createServer(onRequest).listen(8888);
function redirectUrl(myid) {
var temp= ;
var options = {
host: localhost ,
port: 8080,
path: /temp.html?id= + myid + &name=cdf ,
method: GET
};
var req = http.request(options, function(res) {
console.log( STATUS: + res.statusCode);
console.log( HEADERS: + JSON.stringify(res.headers));
res.setEncoding( utf8 );
res.on( data , function (chunk) {
temp = temp.concat(chunk);
});
res.on( end , function(){
return temp;
});
});
req.end();
return temp;
}
尽管这样讨论这个问题实在是太愚蠢了,但我确实看到Res.end () 回调中的反应。 如何向请求的家长调用功能传播这个功能?
使用节点是否有更简单的方法来做到这一点? 我知道有方法可以提供静态 html 文件。 但是, 我需要通过 URL 参数来临时. html - 所以我不知道如何做到这一点 。