इस तरह के this के रूप में सवाल का डुप्लिकेट, बल्कि विपरीत नहीं है: मैं एक रूप है कि मैं jQueryएचटीएमएल फॉर्म * पोस्ट * प्राप्त करने और प्राप्त करने के लिए प्रतीत होता है?
$('<form>', {
action : 'service',
method : 'post',
target : '_blank'
}).append(
$('<input>', {
type : 'hidden',
name : 'payload',
value : JSON.stringify(payload)
})
).appendTo('body').submit().remove();
ताकि मैं HTML के साथ एक अलग पेज खोल सकते हैं यह किया जाता है के माध्यम से प्रस्तुत करने कर रहा हूँ है।
जब से मैं काफी जटिल जानकारी का एक बहुत प्रस्तुत करने की आवश्यकता है, मैं वास्तव में क्या करना है उन सब को एक बड़ा JSON स्ट्रिंग में क्रमानुसार, तो केवल एक ही क्षेत्र ("पेलोड") के साथ एक रूप बना सकते हैं और प्रस्तुत कि है।
प्राप्त अंत एक फिल्टर है कि इस तरह से चला जाता है है:
- अगर पद्धति POST है,
- और वहाँ केवल एक प्रस्तुत चर,
- है और वह एक चर के नाम है " पेलोड ",
- फिर जेएसओएन-डीकोड अपना मूल्य और नकली जीईटी डेटा बनाने के लिए इसका इस्तेमाल करें।
तो जब GET डेटा बहुत अधिक बढ़ता है तो मैं वास्तविक स्क्रिप्ट को संशोधित किए बिना विधियों को स्विच कर सकता हूं, जिसमें कोई बदलाव नहीं होता है।
यह आज तक हमेशा काम करता है।
क्या होना चाहिए
सर्वर एक भी पोस्ट प्रस्तुत होने चाहिए और उसे एक पॉपअप विंडो में उचित प्रतिक्रिया खोलें।
क्या वास्तव में के बजाय
सर्वर सही पोस्ट प्रस्तुत प्राप्त करता है ...
... जाहिरा तौर पर यह ध्यान नहीं देता होता है ...
... और तुरंत के बाद कि, ब्राउज़र कोई पैरामीटर के साथ GET जारी करता है, और यह उस पैरामीटर रहित GET का परिणाम है जो पॉपअप विंडो में प्रदर्शित होता है (क्षमा को क्षमा करें)।
काफी आश्चर्यजनक रूप से, यह हमेशा "आपने कोई पैरामीटर सबमिट नहीं किया" त्रुटि है। ओह।
क्या मैं पहले से ही किया था
- सत्यापित इस विधि से काम करता है, और हमेशा अलग अलग रूपों और विभिन्न सेवा अंतिमबिंदुओं
- एक हार्डकोडेड
<FORM>
HTML में साथ फार्म की जगह करने की कोशिश की के साथ पिछले कुछ वर्षों के लिए काम किया है कि बिना किसी jQuery के। वही परिणाम तो, यह एक jQuery समस्या नहीं है। - विभिन्न ब्राउज़रों के साथ प्रयास किया गया (अगर यह केवल कुछ ब्राउज़रों पर काम करता है तो इससे मदद नहीं मिलेगी: मुझे सबसे आधुनिक ब्राउज़र का समर्थन करने की ज़रूरत है। हालांकि, मैंने जांच की। सौभाग्य से, यह विफलता उन सभी में पुन: उत्पन्न होती है, यहां तक कि iPhones पर भी)।
- कुछ डेटा भेजने की कोशिश की (बस "{test: 0}")।
- जैसे ही कुछ भी प्राप्त होता है, एंडपॉइंट स्क्रिप्ट को रोकने की कोशिश की।
- चेक स्टैक ओवरफ़्लो चेक किया गया। मैंने पाया seems to be the same problem, variousflavours में, लेकिन यह थोड़ा सा आराम है। This one में एक दिलचस्प गॉचा है लेकिन नहीं, यह मदद नहीं करता है।
- फ़ायरवॉल, प्रॉक्सी, एडब्लॉकर्स और प्लगइन्स की जांच की गई (अब मैं सादा वेनिला फ़ायरफ़ॉक्स का उपयोग कर रहा हूं)।
- आईटी लोगों को बुलाया और हाल ही में एसवीएन प्रतिबद्धताओं के बारे में पूछे जाने वाले प्रश्न पूछे। कोई नहीं था।
क्या मैं अभी तक नहीं किया
- चेक निम्न स्तर पर HTTPS बातचीत (मैं पर्याप्त पहुँच नहीं है)।
- एक सर्वर के कॉन्फ़िगरेशन, चरण-दर-चरण की तुलना में, जहां यह काम करता है और नया सर्वर जहां यह नहीं करता है।
- काफी स्पष्ट रूप से, मेरी सोच टोपी डालें। कुछ स्पष्ट हो सकता है कि मुझे याद आ रही है और मैं खुद को एक बड़े चेहरे के लिए स्थापित कर रहा हूं।
एक शुद्ध सर्वर से संबंधित मुद्दे अर्थात एक HTML में hardcoded साथ फार्म की जगह _tried, किसी भी jQuery के बिना लगता है। वही परिणामतो, यह एक jQuery समस्या नहीं है। _ इसलिए आपको सर्वर प्रक्रिया को डीबग करने और PHP या जो भी काम कर रहे jQuery jQuery – mplungjan