Dalam fungsi Express berikut:
app.get('/user/:id', function(req, res){
res.send('user' + req.params.id);
});
Apa reqdan res? Apa yang mereka perjuangkan, apa artinya, dan apa yang mereka lakukan?
Terima kasih!
Dalam fungsi Express berikut:
app.get('/user/:id', function(req, res){
res.send('user' + req.params.id);
});
Apa reqdan res? Apa yang mereka perjuangkan, apa artinya, dan apa yang mereka lakukan?
Terima kasih!
Jawaban:
reqadalah objek yang berisi informasi tentang permintaan HTTP yang mengangkat peristiwa tersebut. Sebagai tanggapan req, Anda gunakan resuntuk mengirim kembali respons HTTP yang diinginkan.
Parameter itu bisa dinamai apa saja. Anda dapat mengubah kode itu menjadi ini jika lebih jelas:
app.get('/user/:id', function(request, response){
response.send('user ' + request.params.id);
});
Edit:
Katakanlah Anda memiliki metode ini:
app.get('/people.json', function(request, response) { });
Permintaan akan menjadi objek dengan properti seperti ini (hanya untuk beberapa nama):
request.url, yang akan terjadi "/people.json"ketika tindakan khusus ini dipicurequest.method, Yang akan "GET"dalam hal ini, maka app.get()panggilan itu.request.headers, berisi item seperti request.headers.accept, yang dapat Anda gunakan untuk menentukan jenis browser apa yang membuat permintaan, jenis respons apa yang dapat ditangani, apakah bisa memahami kompresi HTTP atau tidak, dll.request.query(misalnya /people.json?foo=barakan menghasilkan request.query.foostring "bar").Untuk menanggapi permintaan itu, Anda menggunakan objek respons untuk membangun respons Anda. Untuk memperluas people.jsoncontoh:
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);
});
reqdan resstruktur, yang dijelaskan dalam dokumen ekspres: req: expressjs.com/en/api.html#req , res: expressjs.com/en/api.html#res
Saya melihat satu kesalahan dalam jawaban Dave Ward (mungkin perubahan baru-baru ini?): Paramaters string kueri ada di request.query, bukan request.params. (Lihat https://stackoverflow.com/a/6913287/166530 )
request.params secara default diisi dengan nilai "kecocokan komponen" dalam rute, yaitu
app.get('/user/:id', function(request, response){
response.send('user ' + request.params.id);
});
dan, jika Anda telah mengonfigurasi express untuk menggunakan bodyparser ( app.use(express.bodyParser());) juga dengan formdata POST'ed. (Lihat Bagaimana cara mengambil parameter permintaan POST? )
req=="request"//res=="response"