मुझे किसी फ़ॉर्म से सभी इनपुट को JSON स्ट्रिंग में क्रमबद्ध करने की आवश्यकता है।
this post की मदद से, मैं सफलतापूर्वक एक मान्य स्ट्रिंग के रूप में नीचे बना सकते हैं:jQuery: डेटा पोस्ट करने के लिए उपयोग किए गए JSON स्ट्रिंग से बचने वाले AJAX फ़ंक्शन को कैसे रोकें
{"input01":"value01","input02":"value02","input03":"value03"}
हालांकि, जब मैं स्ट्रिंग का उपयोग करना jQuery के अजाक्स समारोह का उपयोग कर डेटा पोस्ट करने की कोशिश है, यह स्ट्रिंग के लिए बैकस्लैश जोड़ने के लिए लगता है , जिसके परिणामस्वरूप JSON स्ट्रिंग को POST के बजाय GET का उपयोग करके भेजा जा रहा है।
[{\"input01\":\"value01\",\"input02\":\"value02\",\"input03\":\"value03\"}] =>
मैं alert()
का उपयोग कर पुष्टि करने के लिए संरचना AJAX समारोह में इस्तेमाल किया जा रहा से पहले सही है JSON स्ट्रिंग का परीक्षण किया है: लोड पीएचपी पेज के एक $_GET
सरणी देता है।
इसके अतिरिक्त, यदि मैं मैन्युअल रूप से मान्य JSON स्ट्रिंग में टाइप करता हूं, तो AJAX डेटा को सही तरीके से पोस्ट करता है।
var dataJSON = $.toJSON($('#form').serializeObject());
alert(dataJSON);
$.ajax({
type: "POST",
url: "ajax.php",
data: 'Query01=01&Query02=02',
dataType: 'json',
success: function(data){
if (data==1){
$('#wrap').load('ajax.php',dataJSON);
}
}
});
आप कॉल कर रहे हैं '.ajax()', तो '.load के साथ एक और ajax अनुरोध()' बना रही है। क्या वो सही है? –
Roatin, यह सही है। ऊपर दिया गया उदाहरण मेरी वास्तविक लिपि से सरलीकृत है। $ .ajax का उपयोग कर वास्तविक स्क्रिप्ट पोस्ट डेटा जिसे सफलतापूर्वक सत्यापित किया जाना है, $ .load फ़ंक्शन JSON स्ट्रिंग द्वारा पोस्ट किए गए डेटा से उत्पन्न HTML लोड करता है। – ticallian