डिफ़ॉल्ट POST
एन्कोडिंग multipart/form-data
name=value
जोड़े की एक फ्लैट श्रृंखला के होते हैं जो है।
आपकी संरचना को सीधे name=value
जोड़े की एक फ्लैट श्रृंखला में मैप नहीं किया जा सकता है, क्योंकि यह जटिल है। आपके पास एक सदस्य है जो एक वस्तु है, जिसमें एक सरणी का जिक्र करने वाली संपत्ति है।
यदि आप एक मनमाने ढंग से जटिल संरचना भेजना चाहते हैं, तो आपको एक अलग एन्कोडिंग का उपयोग करना होगा और यह सुनिश्चित करना होगा कि सर्वर उस एन्कोडिंग को समझता है। उदाहरण के लिए, आप सर्वर पर JSON या XML भेज सकते हैं, लेकिन आपको यह कहना होगा कि विधि ajax
विधि पर संपत्ति सेट करके आप क्या कर रहे हैं (जो आपके द्वारा पर भेजे जा रहे डेटा के प्रकार को सेट करता है सर्वर)। फिर आपके सर्वर को यह समझना होगा कि JSON या XML को deserialize कैसे करें।
कुछ हद तक, सुनिश्चित करें कि आपकी संरचना name=value
जोड़े की एक फ्लैट श्रृंखला में मैप की जा सकती है।
एक आधे रास्ते घर multipart/form-data
के रूप में डेटा भेजने के लिए है, लेकिन में आप किसी एकल name=value
जोड़ी भेजने के लिए और राशि value
हिस्सा एक अलग एन्कोडिंग, इस तरह:
$.ajax({
url: ajaxUrl,
dataType: 'json',
type: 'POST',
data: {json: JSON.stringify(data)},
success: function(json){
}
});
एक भी name=value
जोड़ी भेजता है कि json
नाम के साथ, जहां मान JSON-encoded स्ट्रिंग है। आपका सर्वर-साइड सामान्य तरीके से json
पैरामीटर का मान पुनर्प्राप्त करेगा, और फिर ऑब्जेक्ट ग्राफ़ को फिर से बनाने के लिए JSON deserializer का उपयोग करेगा।
यह आधा रास्ता-घर तकनीक कभी-कभी ढांचे में आसान होती है जो मानक अनुरोध एन्कोडिंग के अलावा किसी अन्य चीज़ का उपयोग करना मुश्किल बनाती है।
स्रोत
2013-08-03 21:02:20
यह केवल मूल्य के रूप में '[ऑब्जेक्ट ऑब्जेक्ट] "' को भेजता है, शायद ही उपयोगी है। –