आइए इस कम से कम तकनीकी रखने की कोशिश करें।
मान लीजिए कि आप नोड-जेएस सर्वर को html फॉर्म डेटा भेज रहे हैं यानी आपने सर्वर से अनुरोध किया है। सर्वर फ़ाइल आपके अनुरोध को एक अनुरोध वस्तु के तहत प्राप्त करेगी। अब तर्क से, यदि आप अपने सर्वर फ़ाइल में इस अनुरोध ऑब्जेक्ट को सांत्वना देते हैं, तो आपको अपना फॉर्म डेटा कुछ इस तरह से देखना चाहिए, जो तब निकाला जा सकता है, लेकिन वाह! तुम वास्तव में नहीं हो!
तो, हमारा डेटा कहां है? अगर यह केवल मेरे अनुरोध में मौजूद नहीं है तो हम इसे कैसे निकालेंगे।
इसका सरल विवरण है http आपके बिट्स और टुकड़ों में आपके फ़ॉर्म डेटा को भेजता है जो कि उनके गंतव्य तक पहुंचने के रूप में इकट्ठे होने का इरादा रखते हैं। तो आप अपना डेटा कैसे निकालेंगे।
लेकिन, क्यों हर समय का यह दर्द मैन्युअल रूप से अपने डेटा को चंक्स के लिए पार्स करना और इसे इकट्ठा करना है। "बॉडी-पार्सर" नामक कुछ का उपयोग करें, जो आपके लिए ऐसा करेगा।
body-parser आपके अनुरोध को पार्स करता है और इसे एक ऐसे प्रारूप में परिवर्तित करता है जिससे आप आसानी से प्रासंगिक जानकारी निकाल सकते हैं जिसकी आपको आवश्यकता हो सकती है।
उदाहरण के लिए, मान लें कि आपके सामने एक साइन-अप फ़ॉर्म है। आप इसे भर रहे हैं, और सर्वर से अनुरोध कर रहे हैं कि वह विवरणों को बचाए।
यदि आप बॉडी-पार्सर का उपयोग करते हैं तो आपके अनुरोध से उपयोगकर्ता नाम और पासवर्ड निकालना उतना ही सरल है।
var loginDetails = {
username : request.body.username,
password : request.body.password
};
तो मूल रूप से, बॉडी-पार्सर ने आपके आने वाले अनुरोध को पार्स किया, आपके फॉर्म डेटा वाले चंकल्स को इकट्ठा किया, फिर इस बॉडी ऑब्जेक्ट को आपके लिए बनाया और इसे आपके फॉर्म डेटा से भर दिया।
req.body