2008-10-07 16 views
13

मैं एक पोस्ट में एक जीईटी बदल रहा हूं। वर्तमान में मेरे पास .jsp है? Id = a, b, c, d। इसे किसी पोस्ट में बदलते समय भी मैं आईडी पैरामीटर ए, बी, सी, डी बैठा हूं। यह मेरे लिए काम नहीं कर रहा है। क्या मैं पोस्ट पैरामीटर में अल्पविराम से अलग सूची सबमिट कर सकता हूं?पोस्ट एकाधिक पैरामीटर

उत्तर

13

मैं गलत हूँ या उत्तर के सबसे बिंदु के बगल में कर रहे हैं?

ठीक से अपने प्रश्न का उत्तर देने के लिए, हाँ, आप एक पोस्ट पैरामीटर में अल्पविराम से अलग सूची सबमिट कर सकते हैं। ईमानदार होने के लिए, मैंने अभी एक PHP स्क्रिप्ट के साथ त्वरित प्रयास किया है, लेकिन मुझे नहीं पता कि जावा अलग-अलग व्यवहार क्यों करेगा। POST अनुरोधों वाला एक बिंदु ठीक है कि आपके पास वाक्यविन्यास पर बहुत कम बाधाएं हैं (बचने की कोई आवश्यकता नहीं है = & या ऐसे)।

तो यदि आप विवरण में अधिक बताते हैं कि "काम नहीं करता", तो शायद हम आपकी मदद कर सकते हैं।

14

आप इसे एक का चयन करें प्रपत्र इनपुट की तरह कर सकते हैं:?

यूआरएल परम = मान 1 & परम 2 = मान & परम = VALUE3

आप भाषा और पुस्तकालय के आधार पर आप की एक सरणी प्राप्त करने में सक्षम होना चाहिए परम के लिए मूल्य।


asp.net MVC के साथ उदाहरण के लिए मैं यह नहीं तार की एक सरणी प्राप्त करने के लिए:

string[] values = Request.Form.GetValues("param"); 
13

Fionn सही है।

url?param=value1&param=value2&param=value3 

एकाधिक पैरामीटर को एकाधिक मान सेट करने के लिए उपयोग करें। अपने सर्वलेट/JSP में मूल्यों को पढ़ने के लिए आप अपने पैरामीटर एक सरणी के रूप में यह नामकरण से एक से अधिक मान देने के लिए उपयोग कर सकते हैं

String[] values = request.getParameterValues("param"); 
3

सेट। इसके बजाय इनपुट "आईडी" बुलाने की, इसे कहते "आईडी []"

<form method="post"> 
<select multiple name="id[]"> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
</select> 
<input type="submit" value="send"> 
</form> 

जब प्रसंस्करण, नामित पैरामीटर द्वारा भेजे गए मूल्यों की सरणी को निकालने के लिए याद है।

0

पोस्ट अनुरोध में न्यूनतम 1 पैरामीटर पैरामीटर सूची में होना चाहिए। यदि आप अनुरोध करने के लिए पैरामीटर जोड़ रहे हैं तो यह काम नहीं करेगा। इसके लिए आपको फ़ॉर्म के छिपे हुए क्षेत्र के रूप में पैरामीटर भेजने की आवश्यकता है। या निम्न कोड

समारोह makePOSTRequest (यूआरएल, पैरामीटर) {

http_request = false; 
    if (window.XMLHttpRequest) { // Mozilla, Safari,... 
    http_request = new XMLHttpRequest(); 
    if (http_request.overrideMimeType) { 
     // set type accordingly to anticipated content type 
     //http_request.overrideMimeType('text/xml'); 
     http_request.overrideMimeType('text/html'); 
    } 
    } else if (window.ActiveXObject) { // IE 
    try { 
     http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
     try { 
      http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
     } catch (e) {} 
    } 
    } 
    if (!http_request) { 
    alert('Cannot create XMLHTTP instance'); 
    return false; 
    } 

    http_request.onreadystatechange = alertContents; 
    http_request.open('POST', url, true); 
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    http_request.setRequestHeader("Content-length", parameters.length); 
    http_request.setRequestHeader("Connection", "close"); 
    http_request.send(parameters); 

} का उपयोग करके देखें

0

प्राप्त करें और पोस्ट के दो अलग-अलग उद्देश्य हैं। विकिपीडिया HTTP प्रविष्टि से:

अनुरोध निर्दिष्ट संसाधन का प्रतिनिधित्व प्राप्त करें। ध्यान दें कि जीईटी को उन परिचालनों के लिए उपयोग नहीं किया जाना चाहिए जो दुष्प्रभावों का कारण बनते हैं, जैसे कि वेब अनुप्रयोगों में कार्रवाई करने के लिए इसका उपयोग करना। इसका एक कारण यह है कि जीईटी को रोबोट या क्रॉलर्स द्वारा मनमाने ढंग से इस्तेमाल किया जा सकता है, जिसे किसी दुष्प्रभाव के दुष्प्रभावों पर विचार करने की आवश्यकता नहीं है। नीचे सुरक्षित तरीके देखें।

पोस्ट

प्रस्तुत डेटा पहचान संसाधन के लिए (एक HTML फार्म से उदा) संसाधित करने के लिए। डेटा अनुरोध के शरीर में शामिल है। इसका परिणाम नए संसाधन या मौजूदा संसाधनों के अपडेट या दोनों के निर्माण में हो सकता है।

असल में, आपको सर्वर के राज्य को बदलने वाले किसी भी क्रिया के लिए जीईटी, अच्छी तरह से, जानकारी प्राप्त करें, और POST का उपयोग करना चाहिए, जैसे नए रिकॉर्ड जोड़ना।

1

आप

 xmlhttp 
       .send("files=" + files.value + "&tagcount=" 
         + tagcount.value); 

फ़ाइलों और tagcount का उपयोग कर यहां से एक से अधिक पैरामीटर पारित कर सकते हैं parmeters की आईडी पारित होने के लिए कर रहे हैं। यह मेरे अजाक्स स्क्रिप्ट के लिए काम कर रहा था। सामान्य मामलों में आप केवल & द्वारा पैरामीटर जोड़ सकते हैं। तो पैरामीटर

"parameter1=" + parameter1.value + "&parameter2=" + parameter2.value 
जैसा दिख सकता है
संबंधित मुद्दे