এক্সপ্রেসজেএস-এ req.query এবং req.param


93

এক্সপ্রেসের মধ্যে req.queryএবং এর req.paramমধ্যে প্রধান পার্থক্য

  • উভয়ই একে অপরের থেকে আলাদা কীভাবে
  • কখন কখন ব্যবহার করতে হবে

মনে করুন কোনও ক্লায়েন্ট অনুরোধে অ্যান্ড্রয়েড (কী, মান) জুটি পাঠায় ........ কোনটি ব্যবহার করবেন?

[সম্পাদনা]

ধরুন অ্যান্ড্রয়েড কোনও পোস্ট অনুরোধ প্রেরণ করে -> উদ্দেশ্য ক্লায়েন্টকে (কী, মান) প্রেরণ করা এবং সার্ভারের মানটির উপর ভিত্তি করে একটি ডাটাবেস ক্যোয়ারী করা উচিত এবং জেএসওএন প্রতিক্রিয়া ফিরিয়ে দেওয়া উচিত

লুক :: প্রোগ্রামের জন্য এই প্রশ্নের আমি রেফারেন্সড: : ফলে অনুসন্ধান এর জন্য সরল এক্সপ্রেস প্রোগ্রাম


4
মানে কি req.queryআর req.param?
আরব

4
হ্যাঁ ! ......... আমি প্রশ্নটিও সংশোধন করেছি

উত্তর:


119

req.query ক্যোরি স্ট্রিংটি বিশ্লেষণ করার পরে একটি জেএস বস্তু ফেরত দেবে।

/ ব্যবহারকারী? নাম = টম এবং বয়স = 55 - req.queryফল দেয়{name:"tom", age: "55"}

req.paramsমিলিত রুটে প্যারামিটারগুলি ফিরিয়ে দেবে। আপনার রুট হয় তাহলে / ব্যবহারকারী /: ID এবং আপনাকে একটি অনুরোধ করতে / ব্যবহারকারী / 5 - req.paramsউত্পাদ হবে{id: "5"}

req.paramঅনুরোধের বাইরে প্যারামিটারগুলি খোসা এমন একটি ফাংশন। এই সব এখানে পাওয়া যাবে

হালনাগাদ

ক্রিয়াটি যদি একটি হয় POSTএবং আপনি ব্যবহার করছেন bodyParserতবে আপনার নিজের সাথে ফর্ম বডিটি পেতে সক্ষম হওয়া উচিত req.body। এটি POSTএড ফর্মটির পার্সড জেএস সংস্করণ হবে ।


ধন্যবাদ, তাহলে ধরা যাক কোনও ক্লায়েন্ট অনুরোধে অ্যান্ড্রয়েড (কী, মান) জুটি পাঠায় ........ এক্সপ্রেসে কোনটি ব্যবহার করবেন?

প্রশ্নে অনুরোধটি না দেখে এই প্রশ্নের উত্তর দেওয়ার কোনও উপায় নেই।
আর্বি

দয়া করে আপডেট হওয়া প্রশ্নটি দেখুন ..... আমি পোস্ট করা একটি প্রশ্নের মধ্যে আমি যে প্রোগ্রামটি ব্যবহার করছি তার লিঙ্কটিও উল্লেখ করেছি ..... দয়া করে একটি ফিড যুক্ত করুন!

@ উত্তরটি যদি এই উত্তরটি আপনাকে সহায়তা করে তবে দয়া করে এটিকে এই প্রশ্নের উত্তর হিসাবে চিহ্নিত করে বিবেচনা করুন। ধন্যবাদ
আরবি

16

req.queryসার্ভারে পাঠানো ক্যোরিয় স্ট্রিং, উদাহরণস্বরূপ /page?পরীক্ষা = 1 , req.paramহ্যান্ডলারের কাছে দেওয়া প্যারামিটারগুলি।

app.get('/user/:id', handler);, যাও /user/blah, req.param.idফিরে হবে blah;


ধন্যবাদ, তাহলে ধরা যাক কোনও ক্লায়েন্ট অনুরোধে অ্যান্ড্রয়েড (কী, মান) জুটি পাঠায় ........ কোনটি ব্যবহার করবেন?

4
আপনি কী সম্পর্কে কথা বলছেন তা আমার কোনও ধারণা নেই, যদি এটি একটি পোষ্ট অনুরোধ হয় তবে এটি এটিতে থাকবে req.data, যদি এটি ভিতরে না আসেreq.param
OneOfOne

হাই, আপনি দয়া করে আমাকে কীভাবে রেকর্ডারগুলি পরীক্ষা করতে চান তা নির্ধারণ করতে পারেন?
আরজ 1411

@ আনন্দরাজ এটি খালি হবে, সুতরাং পরীক্ষা করুনc.Param("id") == ""
২১

@ ওওফোন, আপনার জবাবের জন্য ধন্যবাদ। আমাকে এটি পরীক্ষা করতে দিন এবং আপনাকে আপডেট করব
আরজ 1411

14

আমি নিম্নলিখিত ব্যবহার করার পরামর্শ দিতে হবে

req.param('<param_name>')

req.param ("") নিম্নলিখিত হিসাবে কাজ করে

নিম্নলিখিত ক্রমে লুকআপ সঞ্চালিত হয়:

req.params
req.body
req.query

Req.body, req.params এবং req.query এ সরাসরি অ্যাক্সেস স্পষ্টতার পক্ষে হওয়া উচিত - যদি না আপনি সত্যিকার অর্থে প্রতিটি বস্তুর ইনপুট গ্রহণ করেন।

রেফ: http://expressjs.com/4x/api.html#req.param


4
হাই, আপনি দয়া করে আমাকে কীভাবে রেকর্ডারগুলি পরীক্ষা করতে চান তা নির্ধারণ করতে পারেন?
আরজ 1411

@ আনন্দরাজ আপনাকে অপরিজ্ঞাত বলতে কী বোঝাতে চাইছেন? আপনার মানে কি প্যারামগুলি জানা নেই?
অভিজিৎ গায়কওয়াদ

আমার অর্থ হ'ল আমি যখন রেক.প্যারামের ধরণটি পরীক্ষা করে দেখি এটি অপরিজ্ঞাত shows আমার লক্ষ্য req.params কিনা চেক করা হল <কোনো কোনো URI প্যারামিটার> নাল কি না।
Arj 1411

@ আনন্দরাজ আপনি কি আপনার কোড পোস্ট করতে পারেন? নিম্নলিখিত কোডগুলি আমার জন্য কাজ করে বর্ণ এক্সপ্রেস = প্রয়োজনীয় ('এক্সপ্রেস'); var অ্যাপ = এক্সপ্রেস (); app.get ('/', ফাংশন (req, res) {কনসোল.লগ (req.params); res.send (req.params);}); app.listen (3000);
অভিজিৎ গায়কওয়াদ

@ আনন্দরাজ চেষ্টা করুন (রেকর্ডামস.হসনপ্রোপার্টি ('ডিভাইসটাইপ')) {}
অভিজিৎ গায়কওয়াদ

11

পাসিং পরম

GET request to "/cars/honda" 

হোন্ডা গাড়ির মডেলগুলির একটি তালিকা ফেরত দেয়

পাসিং কোয়েরি

GET request to "/car/honda?color=blue"

হোন্ডা গাড়ির মডেলগুলির একটি তালিকা ফেরত দেয় তবে ফিল্টার করা কেবলমাত্র স্টক রঙের নীল রঙের মডেলগুলিই ফিরে আসে।

ইউআরএল প্যারামিটারগুলিতে (/ গাড়ি / হোন্ডা / রঙ / নীল) এই ফিল্টারগুলি যুক্ত করা কোনও অর্থবোধ করে না কারণ REST অনুসারে, এর অর্থ বোঝায় যে আমরা "নীল" রঙ সম্পর্কে একগুচ্ছ তথ্য পেতে চাই। যেহেতু আমরা যা চাই তা হন্ডা মডেলগুলির একটি ফিল্টারড তালিকা, সুতরাং ফলাফলগুলি ফিল্টার করার জন্য আমরা কোয়েরি স্ট্রিংগুলি ব্যবহার করি।

লক্ষ্য করুন যে ক্যোরির স্ট্রিংগুলি সত্যিই কেবল {কী: মান} জোড়াটি কিছুটা আলাদা ফর্ম্যাটে:? কী 1 = মান 1 এবং কী 2 = মান 2 এবং কী 3 = মান 3।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.