2016-05-10 12 views
0

Es gibt einen Client, der Anfragen an meinen Webserver sendet. Dieser Server sollte mit Daten oder einem bestimmten Code antworten, zum Beispiel 117 (ja, das ist eine Halo-Referenz: D) Jetzt brauche ich Zugriff auf die geantwortet Daten oder Code. Wie konnte ich das erkennen? Ich habe hier bei stackoverflow nichts Ähnliches gefunden, vielleicht können Sie mir helfen.Wie fängt man eine Serverantwort?

Client-Beispiel:

function sendRequest() { 
     var options = { 
      host: 'localhost', 
      port: 1309, 
      path: '/examplePath?param='+param, 
      param: "example" 
     }; 
     http.get(options, function(resp){ 
      resp.on('data', function(chunk){ 
       console.log("chunk :",chunk); 
      }); 
     }).on("error", function(err){ 
      console.log("Error: " + err.message); 
     }); 

} 

Answering Server:

function examplePathFunction(req,res) { 

    if(condition) { 
     //TODO Server must answer with data 
    } else { 
     //TODO Server must answer with status 117 
    } 
} 

Würde: res.end(date/code); mein Problem lösen? Und wie bekomme ich diese Antwort?

+0

Sie versuchen Haben 'res.render' oder' res.send'? –

Antwort

1

Ich glaube, du bist:

function examplePathFunction(req, res, next) { 

if(req.body.data) { 
    res.status(200).send({ data: req.body.data }); 
    return next(); 
} else { 
    res.status(117); 
    return next(); 
    } 
} 

Obwohl, wenn Sie versuchen, Daten über params zu senden, suchen Sie es statt der Anfrage Körper.

Mehr Informationen über den Express-API: http://expressjs.com/en/api.html#req