এক্সপ্রেস ৪.০-এ 'বর্ধিত' অর্থ কী?


90

আমি আমার অ্যাপে এক্সপ্রেস এবং বডি পার্সার ব্যবহার করছি।

app.use(bodyParser.urlencoded({ extended: false }));

তবে, এক্সপ্রেস ৪.০-এ 'বর্ধিত' অর্থ কী?

আমি এটি খুঁজে পেয়েছি

extended - parse extended syntax with the qs module.

যাইহোক, আমি এর অর্থ কী তা বোঝাতে পারি না tra

উত্তর:


155

যদি extendedহয় তবে falseআপনি "নেস্টেড অবজেক্ট" পোস্ট করতে পারবেন না

person[name] = 'cw'

// Nested Object = { person: { name: cw } }

যদি extendedহয় তবে trueআপনি যেভাবে পছন্দ করতে পারেন।



80

যখন extendedসম্পত্তি সেট করা থাকে true, তখন ইউআরএল-এনকোডড ডেটা কিউস লাইব্রেরির সাথে পার্স করা হবে ।

অপরদিকে,

যখন extendedসম্পত্তি সেট করা থাকে false, তার পরিবর্তে URL- এনকোডড ডেটা ক্যোরিস্ট্রিং লাইব্রেরিতে পার্স করা হবে ।


`Qs গ্রন্থাগার` বনাম `ক্যোরিস্ট্রিং লাইব্রেরি` দিয়ে পার্স করার পার্থক্য `

  • qs লাইব্রেরি আপনাকে আপনার কোয়েরি স্ট্রিং থেকে নেস্টেড অবজেক্ট তৈরি করতে দেয় ।

    var qs = require("qs")
    var result = qs.parse("person[name]=bobby&person[age]=3")
    console.log(result) // { person: { name: 'bobby', age: '3' } }
    


  • ক্যোয়ারী-স্ট্রিং লাইব্রেরি আপনার কোয়েরি স্ট্রিং থেকে নেস্টেড অবজেক্ট তৈরি করা সমর্থন করে না

    var queryString = require("query-string")
    var result = queryString.parse("person[name]=bobby&person[age]=3")
    console.log(result) // { 'person[age]': '3', 'person[name]': 'bobby' }
    


  • কিউ লাইব্রেরী ফিল্টার আউট করবে না '?' কোয়েরি স্ট্রিং থেকে।

    var qs = require("qs")
    var result = qs.parse("?a=b")
    console.log(result) // { '?a': 'b' }
    


  • ক্যোরি-স্ট্রিং লাইব্রেরি ফিল্টার করবে '?' কোয়েরি স্ট্রিং থেকে।

    var queryString = require("query-string")
    var result = queryString.parse("?a=b")
    console.log(result) // { a: 'b' }
    

app.use(bodyParser.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded


আরও তথ্যের জন্য, আপনি লিওনিড বেসচাস্টির উত্তরটি দেখতে পাবেন এবং এনপিএম কোয়েরি বনাম কোয়েরি-স্ট্রিং তুলনা করতে পারেন



4
নির্বাচিত উত্তরটি হওয়া উচিত
নিশী

এটি অবশ্যই সঠিক উত্তর হিসাবে নির্বাচিত হতে হবে।
AwsAnurag

21

বডি পার্সার ডক্স থেকে:

পার্সড ডেটাযুক্ত একটি নতুন বডি অবজেক্ট মিডলওয়্যারের পরে (যেমন req.body) অনুরোধের আইটেমে পপুলেট হয়। এই অবজেক্টে মূল-মান জুটি থাকবে, যেখানে মানটি স্ট্রিং বা অ্যারে হতে পারে (যখন প্রসারিত মিথ্যা থাকে), বা কোনও প্রকার (যখন প্রসারিত সত্য হয়)।

এবং

বর্ধিত বিকল্পটি ইউআরএল-এনকোডড ডেটা ক্যোরিস্ট্রিং লাইব্রেরি (যখন মিথ্যা হবে) বা কিউএস লাইব্রেরি (সত্য হলে) দিয়ে পার্স করার মধ্যে চয়ন করতে দেয়। "বর্ধিত" বাক্য গঠনটি সমৃদ্ধ বস্তু এবং অ্যারেগুলিকে ইউআরএল-এনকোডযুক্ত ফর্ম্যাটে এনকোড করার অনুমতি দেয়, ইউআরএল-এনকোডযুক্ত JSON- এর মতো অভিজ্ঞতার সুযোগ দেয়। আরও তথ্যের জন্য, দয়া করে qs লাইব্রেরি দেখুন।

মূলত প্রসারিত আপনাকে পূর্ণ বস্তু পার্স করতে দেয়।

বডি পার্সার: ইউরাল এনকোড করা

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