Aşağıdaki Express işlevinde:
app.get('/user/:id', function(req, res){
res.send('user' + req.params.id);
});
Nedir reqve res? Ne anlama geliyorlar, ne anlama geliyorlar ve ne yapıyorlar?
Teşekkürler!
Aşağıdaki Express işlevinde:
app.get('/user/:id', function(req, res){
res.send('user' + req.params.id);
});
Nedir reqve res? Ne anlama geliyorlar, ne anlama geliyorlar ve ne yapıyorlar?
Teşekkürler!
Yanıtlar:
reqolayı oluşturan HTTP isteği hakkında bilgi içeren bir nesnedir. Yanıt olarak req, resistenen HTTP yanıtını geri göndermek için kullanılır.
Bu parametrelere herhangi bir ad verilebilir. Daha açıksa bu kodu bu şekilde değiştirebilirsiniz:
app.get('/user/:id', function(request, response){
response.send('user ' + request.params.id);
});
Düzenle:
Bu yönteme sahip olduğunuzu varsayalım:
app.get('/people.json', function(request, response) { });
İstek, bu gibi özelliklere sahip bir nesne olacaktır (sadece birkaçını belirtmek için):
request.url, "/people.json"bu belirli işlem tetiklendiğinde gerçekleşecekrequest.method, "GET"bu durumda, bu nedenle app.get()çağrı.request.headersgibi öğeler içeren bir dizi HTTP başlığı request.headers.accept.request.query(örneğin , dizeyi içermesiyle /people.json?foo=barsonuçlanır ).request.query.foo"bar"Bu isteğe yanıt vermek için yanıtınızı oluşturmak için yanıt nesnesini kullanırsınız. Örneği genişletmek için people.json:
app.get('/people.json', function(request, response) {
// We want to set the content-type header so that the browser understands
// the content of the response.
response.contentType('application/json');
// Normally, the data is fetched from a database, but we can cheat:
var people = [
{ name: 'Dave', location: 'Atlanta' },
{ name: 'Santa Claus', location: 'North Pole' },
{ name: 'Man in the Moon', location: 'The Moon' }
];
// Since the request is for a JSON representation of the people, we
// should JSON serialize them. The built-in JSON.stringify() function
// does that.
var peopleJSON = JSON.stringify(people);
// Now, we can use the response object's send method to push that string
// of people JSON back to the browser in response to this request:
response.send(peopleJSON);
});
reqve resyapısı, bu ekspres docs açıklanan: req: expressjs.com/en/api.html#req , res: expressjs.com/en/api.html#res
Dave Ward'ın cevabında bir hata fark ettim (belki de son değişiklik?): Sorgu dizgisi paramatörleri request.querydeğil request.params. (Bkz. Https://stackoverflow.com/a/6913287/166530 )
request.params varsayılan olarak rotalardaki herhangi bir "bileşen eşleşmesi" değeriyle doldurulur.
app.get('/user/:id', function(request, response){
response.send('user ' + request.params.id);
});
ve express'i bodyparser ( app.use(express.bodyParser());) öğesini POST'lu form verileriyle de kullanacak şekilde yapılandırdıysanız. ( Bkz.POST sorgu parametreleri nasıl alınır? )
req=="request"//res=="response"