2012-01-03 15 views
5

मैं फॉर्मडेटा() का उपयोग करने की कोशिश कर रहा हूं। मैंने क्रोम और फ़ायरफ़ॉक्स के एकाधिक संस्करणों में इस कोड को आजमाया है।फॉर्मडाटा() XHR2

var fData = new FormData(); 
fData.append('foo', 'bar'); 
console.log('formData', fData); 

fData, जब लॉग इन, केवल मुझे FormData के एक प्रोटोटाइप और कोई अतिरिक्त "foo" मूल्य के साथ बनाया वस्तु देता है। कोई त्रुटि नहीं है, यह चुपचाप विफल होने लगती है।

मैं भी

var fData = new FormData(formElement); 
+0

क्या आपको इसके लिए कोई समाधान मिला है? मैं भी ऐसी ही समस्या से गुजर रहा हूँ। – aganders3

+0

@ aganders3 अभी तक नहीं। अगर मैं करता हूं तो मैं इसे यहां पोस्ट करूंगा। –

उत्तर

7

की कोशिश की है अनुसंधान के एक बिट कर रहा, मैं this question जो कहते हैं आप अपने डेटा सीधे FormData वस्तु से नहीं मिल सकता है पाया। हालांकि, आप देख सकते हैं कि यदि डेटा भेजने के बाद XMLHttpRequest ऑब्जेक्ट की जांच करें तो कौन सा डेटा भेजा जाता है। इसने मुझे यह देखने की अनुमति दी कि मैं क्या भेज रहा था (मैंने क्रोम के इंस्पेक्टर के नेटवर्क टैब का उपयोग किया) और प्रभावी रूप से मेरे कोड को डीबग किया।

तो अपने प्रश्न का उत्तर देने के लिए: शायद यह पहले से ही काम कर रहा है, आप FormData ऑब्जेक्ट में अपना डेटा नहीं देख सकते हैं।

+0

बहुत बढ़िया, धन्यवाद। यह समाप्त हो गया कि मुझे सर्वर पर मल्टीपार्ट/फॉर्म-डेटा प्राप्त नहीं हो रहा था। चूंकि मैं node.js का उपयोग कर रहा हूं, इसलिए मुझे अनुरोध प्राप्त करने के लिए फॉर्मिडेबल का उपयोग करना पड़ा। –

+0

आप XMLHttpRequest ऑब्जेक्ट में अनुरोध डेटा कैसे देखते हैं? ऐसा लगता है कि सुरक्षा कारणों से कोई संपत्ति नहीं है। –