क्या कुछ डेटा GET विधि का उपयोग करके और शेष POST विधि का उपयोग करके एक ही पृष्ठ पर सबमिट करने का कोई तरीका है?

पेज में कुछ संवेदनशील जानकारी है जिसे POST के साथ सबमिट करने की आवश्यकता है, साथ ही कुछ जानकारी जैसे page_number और search_phrase को GET के साथ सबमिट किया जाना चाहिए।

मैंने दो रूपों को बनाने की कोशिश की है एक GET विधि के साथ, दूसरा POST विधि के साथ और एक ही समय में उन्हें जमा करने के लिए जावास्क्रिप्ट का उपयोग किया लेकिन केवल GET फॉर्म जमा किया गया है।

जो डेटा GET द्वारा भेजा जाना चाहिए वह स्थिर नहीं है ताकि इसे नीचे की तरह फॉर्म एक्शन के अंत में जोड़ा न जा सके:

<form action="form.php?page=3&search=sth">

संपादित करें

अधिक वर्णन करने के लिए, एक सूची है जो सामान्य रूप से सभी नोट्स दिखाती है और इसमें पेजिंग होती है और डेटा खोज योग्य होता है (GET), लेकिन ऐसी स्थिति होती है कि किसी संपर्क की आईडी इस सूची में भेजी जाती है, फिर केवल नोट्स जो इस संपर्क से संबंधित हैं, उन्हें उल्लिखित सभी कार्यों (पेजिंग और खोज) के साथ प्रदर्शित किया जाना चाहिए।

0
Alireza A2F 8 अगस्त 2019, 14:56

3 जवाब

सबसे बढ़िया उत्तर

एक HTTP अनुरोध GET या POST (या कई अन्य चीजें) प्राप्त कर सकता है, लेकिन एक ही समय में दोनों नहीं।

एक सामान्य फॉर्म सबमिशन ब्राउज़र को एक नए पेज पर ले जाता है। आप एक ही विंडो में एक साथ दो नए पृष्ठों पर नेविगेट नहीं कर सकते।

आप पेज को छोड़े बिना बिना दो HTTP अनुरोध करने के लिए अजाक्स का उपयोग कर सकते हैं।


हालाँकि, आपका आधार त्रुटिपूर्ण है ...

GET और POST के बीच चुनाव का संवेदनशीलता से कोई लेना-देना नहीं है। डेटा पुनर्प्राप्त करने के लिए GET का उपयोग किया जाता है। डेटा सेट करने के लिए POST का उपयोग किया जाता है। (यह थोड़ा सरल कर रहा है)।

यदि आप डेटा सेट कर रहे हैं, तो POST का उपयोग करें।


एक तरफ: हो सकता है कि आप PRG पैटर्न जो एक POST अनुरोध से एक बुकमार्क करने योग्य, ताज़ा करने योग्य URL पर रीडायरेक्ट करता है जो ब्राउज़र को प्राप्त होता है।

2
Quentin 8 अगस्त 2019, 15:02

बिल्कुल।

मेरे पास अक्सर जीईटी संस्करण के रूप में रिकॉर्ड की आईडी होती है, और डेटा मैं फॉर्म में एक पोस्ट संस्करण बदल रहा हूं।

पेजिनेशन भी जीईटी के लिए एक अच्छे उपयोग के मामले का एक बेहतरीन उदाहरण है।

यदि आप एक राउटर घटक का उपयोग नहीं कर रहे हैं जो सुंदर यूआरएल बनाता है, तो बस एक क्वेरी स्ट्रिंग जोड़ें और आईडी वैरिएबल को अपनी फॉर्म एक्शन में गूंजें।

http://example.com/some/page?id=<?= $id; ?>

और बाकी को आपके फॉर्म से पोस्ट किया जा सकता है।

0
delboy1978uk 8 अगस्त 2019, 14:59

आप इसे इस तरह से कर सकते हैं (उदाहरण): चर प्राप्त करें:

let page_number = 4;
let search_phrase = "Hello";
let form = document.getElementById('form');
let formData = new FormData(form);
let xhttp = new XMLHttpRequest();
xhttp.open('POST', 'https://www.destinationpage.com?page_number='+page_number+'&search_phrase='+ search_phrase);
xhttp.send(formData);

मुझे लगता है कि यह स्पष्ट है, लेकिन अगर आप नहीं समझते हैं तो मैं आपको समझा सकता हूं

-1
iamousseni 8 अगस्त 2019, 15:13