जैसा कि मैं AJAX का उपयोग कर जानता हूं, आप सर्वर पर डेटा भेज सकते हैं लेकिन मैं उपयोग करने के लिए एक सरणी भेजने के बारे में उलझन में हूं XMLHttpRequest
jQuery जैसी कोई पुस्तकालय नहीं। मेरा सवाल यह है कि, एक सरणी भेजने के लिए संभव है php
का उपयोग करते हुए XMLHttpRequest
और कैसे करता है jQuery
php को एक सरणी भेजें, मेरा मतलब है कि jQuery सर्वर (php $ _POST) में सरणी भेजने के लिए कोई अतिरिक्त काम करता है?
उत्तर:
उत्तर № 1 के लिए 12खैर आप कुछ भी नहीं बल्कि एक स्ट्रिंग भेज सकते हैंबाइट्स। "सरणी भेजना" सरणीकरण (ऑब्जेक्ट्स की स्ट्रिंग प्रस्तुति) बनाना और सरणी द्वारा किया जाता है। सर्वर तब स्ट्रिंग को पार्स करेगा और इसमें से मेमोरी ऑब्जेक्ट्स को फिर से निर्मित करेगा।
तो भेजना [1,2,3]
PHP पर ऐसा हो सकता है:
var a = [1,2,3],
xmlhttp = new XMLHttpRequest;
xmlhttp.open( "POST", "test.php" );
xmlhttp.setRequestHeader( "Content-Type", "application/json" );
xmlhttp.send( "[1,2,3]" ); //Note that it"s a string.
//This manual step could have been replaced with JSON.stringify(a)
test.php:
$data = file_get_contents( "php://input" ); //$data is now the string "[1,2,3]";
$data = json_decode( $data ); //$data is now a php array array(1,2,3)
बीटीडब्ल्यू, jQuery के साथ आप बस करेंगे:
$.post( "test.php", JSON.stringify(a) );
उत्तर № 2 के लिए 1
यह आपके डेटा संरचना को पैकेज करने के लिए चुने गए प्रोटोकॉल पर निर्भर करता है। 2 सबसे अधिक इस्तेमाल किया जाने वाला एक्सएमएल और जेएसओएन है। दोनों में एक सरणी घोषित करने के तरीके हैं:
JSON: ["one thing", "another thing"]
एक्सएमएल: <things><thing name="one thing" /><thing name="another thing" /></things>
और न ही सर्वर द्वारा कोई महत्वपूर्ण अतिरिक्त काम करेगा। कई मामलों में यह वास्तव में काम को कम करेगा क्योंकि आपको उनके बीच अंतर करने के लिए नामकरण सम्मेलन का उपयोग करने की आवश्यकता नहीं है।
जवाब के लिए 0 № 3
आप एक जेएसओएन ऑब्जेक्ट भेजना चाहते हैं (जो एक सरणी हो सकता है)। यदि आप PHP का उपयोग कर रहे हैं तो इसे देखें XMLHttpRequest w / o jQuery का उपयोग कर PHP पर JSON डेटा भेजें.
जेसन के बारे में अधिक जानकारी: http://json.org/
jQuery जेसन नमूना: JQuery और JSON