নিম্নলিখিত এক্সপ্রেস ফাংশনে:
app.get('/user/:id', function(req, res){
res.send('user' + req.params.id);
});
কি req
এবং res
? তারা কীসের পক্ষে দাঁড়ায়, তাদের অর্থ কী এবং তারা কী করে?
ধন্যবাদ!
নিম্নলিখিত এক্সপ্রেস ফাংশনে:
app.get('/user/:id', function(req, res){
res.send('user' + req.params.id);
});
কি req
এবং res
? তারা কীসের পক্ষে দাঁড়ায়, তাদের অর্থ কী এবং তারা কী করে?
ধন্যবাদ!
উত্তর:
req
HTTP অনুরোধ সম্পর্কিত তথ্য যুক্ত একটি ইভেন্ট যা ইভেন্টটি উত্থাপন করেছিল। এর প্রতিক্রিয়া হিসাবে req
, আপনি res
পছন্দসই এইচটিটিপি প্রতিক্রিয়াটি ফেরত পাঠাতে ব্যবহার করুন ।
এই পরামিতিগুলির যে কোনও নাম দেওয়া যায়। আপনি যদি কোডটি আরও পরিষ্কার করে থাকেন তবে এটিতে এটি পরিবর্তন করতে পারেন:
app.get('/user/:id', function(request, response){
response.send('user ' + request.params.id);
});
সম্পাদনা:
বলুন আপনার কাছে এই পদ্ধতি রয়েছে:
app.get('/people.json', function(request, response) { });
অনুরোধটি এই জাতীয় বৈশিষ্ট্যগুলির সাথে একটি বস্তু হবে (কেবলমাত্র কয়েকটি নাম দেওয়ার জন্য):
request.url
যা "/people.json"
এই নির্দিষ্ট ক্রিয়াকলাপটি শুরু হওয়ার পরে হবেrequest.method
, যা "GET"
এই ক্ষেত্রে হবে তাই app.get()
কল।request.headers
যেমন আইটেমগুলি ধারণ করে request.headers.accept
, যা আপনি কোন ধরণের ব্রাউজার অনুরোধটি তৈরি করেছেন তা নির্ধারণ করতে ব্যবহার করতে পারেন, এটি কোন ধরণের প্রতিক্রিয়াগুলি পরিচালনা করতে পারে, এটি এইচটিটিপি সংক্ষেপণ বুঝতে সক্ষম কিনা ইত্যাদি etc.request.query
(যেমন /people.json?foo=bar
স্থাপিত হবে request.query.foo
স্ট্রিং সম্বলিত"bar"
)।এই অনুরোধটির প্রতিক্রিয়া জানাতে, আপনি আপনার প্রতিক্রিয়া তৈরি করতে প্রতিক্রিয়া অবজেক্টটি ব্যবহার করেন। 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);
});
req
এবং res
গঠন, এটা দ্রুতগামী ডক্স বর্ণিত হয়: req
: expressjs.com/en/api.html#req , res
: expressjs.com/en/api.html#res
ডেভ ওয়ার্ডের উত্তরে আমি একটি ত্রুটি লক্ষ্য করেছি (সম্ভবত কোনও সাম্প্রতিক পরিবর্তন?): ক্যোরি স্ট্রিং প্যারামিটারগুলি রয়েছে request.query
, নেই request.params
। ( Https://stackoverflow.com/a/6913287/166530 দেখুন )
request.params
ডিফল্টরূপে রুটে যেকোন "উপাদান উপাদান" এর মান দিয়ে পূর্ণ হয়
app.get('/user/:id', function(request, response){
response.send('user ' + request.params.id);
});
এবং, যদি আপনি এর বডি পার্সার ( app.use(express.bodyParser());
) পোষ্ট'র ফর্মডাটা ব্যবহার করার জন্য এক্সপ্রেসটি কনফিগার করেছেন। ( POST ক্যোয়ারী প্যারামিটারগুলি কীভাবে পুনরুদ্ধার করবেন দেখুন ? )
req
=="request"
//res
=="response"