मैं जानना चाहता हूं कि ईजेएस में एक बटन क्लिक पर बैकएंड के लिए एक पुट अनुरोध भेजने के लिए वैसे भी है? मेरा मामला मैं बैकएंड को सिर्फ एक 'आईडी' भेजना चाहता हूं ताकि उस आईडी के माध्यम से मैं डेटाबेस में अपना डेटा अपडेट कर सकूं। साथ ही, ईजेएस में सर्वर को पोस्ट भेजने/अनुरोध प्राप्त करने के लिए हर बार फॉर्म का उपयोग करना आवश्यक है? या ऐसा करने का कोई अन्य संभावित तरीका है?

कुछ विचार के लिए कोड स्निपेट:

ईजेएस:

          <% if(user[i].complaint_type === "Bin Full"){ %>
            
          <form action="/assignCol" method="POST">
            <button
              name="id"
              value="<% user[i].id %>"
              type="submit"
              class="btn btn-info"
              style="margin-left: 630px;"
            >
              Assign collector
            </button>
          </form>

क्या मैं ऐसा कर सकता हूँ?

0
Nitin Kaushal 19 जुलाई 2020, 07:06

1 उत्तर

इसे प्राप्त करने के लिए आपको "मेथड-ओवरराइड" नामक एक npm मॉड्यूल का उपयोग करने की आवश्यकता होगी। तो पहले मेथड-ओवरराइड npm मॉड्यूल इंस्टॉल करें:

npm i method-ovverride

अब अपने app.js या server.js में मेथड-ओवरराइड को मिडलवेयर के रूप में कॉन्फ़िगर करने के लिए निम्नलिखित जोड़ें:

const methodOverride = require('method-override');


app.use(methodOverride());

अब आपको अपने फॉर्म में ejs में उल्लेख करना होगा कि यह डेटा को इस तरह से PUT रूट पर ले जाएगा:

<form action="/assignCol?_method=PUT" method="POST">
        <button
          name="id"
          value="<% user[i].id %>"
          type="submit"
          class="btn btn-info"
          style="margin-left: 630px;"
        >
          Assign collector
        </button>
</form>
0
Iqbal 25 पद 2020, 10:34