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:
Permintaan akan menjadi objek dengan properti seperti ini (hanya untuk beberapa nama):
request.url, yang akan terjadi "/people.json"ketika tindakan khusus ini dipicu
request.method, Yang akan "GET"dalam hal ini, maka app.get()panggilan itu.
Array header HTTP di 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.
Array parameter string kueri jika ada, dalam 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);});
Ya ini hebat harus di halaman utama situs web express.js.
Anton
expressnoob - respons adalah objek, sama seperti objek permintaan, tetapi berisi bidang dan metode yang berkaitan dengan respons. Biasanya metode send () respons digunakan. send () menerima sejumlah besar tipe berbeda untuk argumen pertama, yang menjadi badan respons HTTP, dan argumen kedua adalah kode respons HTTP.
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
req
=="request"
//res
=="response"
Jawaban:
req
adalah objek yang berisi informasi tentang permintaan HTTP yang mengangkat peristiwa tersebut. Sebagai tanggapanreq
, Anda gunakanres
untuk mengirim kembali respons HTTP yang diinginkan.Parameter itu bisa dinamai apa saja. Anda dapat mengubah kode itu menjadi ini jika lebih jelas:
Edit:
Katakanlah Anda memiliki metode ini:
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, makaapp.get()
panggilan itu.request.headers
, berisi item sepertirequest.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=bar
akan menghasilkanrequest.query.foo
string"bar"
).Untuk menanggapi permintaan itu, Anda menggunakan objek respons untuk membangun respons Anda. Untuk memperluas
people.json
contoh:sumber
req
danres
struktur, yang dijelaskan dalam dokumen ekspres:req
: expressjs.com/en/api.html#req ,res
: expressjs.com/en/api.html#resSaya melihat satu kesalahan dalam jawaban Dave Ward (mungkin perubahan baru-baru ini?): Paramaters string kueri ada di
request.query
, bukanrequest.params
. (Lihat https://stackoverflow.com/a/6913287/166530 )request.params
secara default diisi dengan nilai "kecocokan komponen" dalam rute, yaitudan, jika Anda telah mengonfigurasi express untuk menggunakan bodyparser (
app.use(express.bodyParser());
) juga dengan formdata POST'ed. (Lihat Bagaimana cara mengambil parameter permintaan POST? )sumber
Permintaan dan tanggapan.
Untuk memahaminya
req
, cobalahconsole.log(req);
.sumber