मेरे पास जावास्क्रिप्ट में एक ऑब्जेक्ट है कि मैं एक PHP स्क्रिप्ट पर AJAX पोस्ट करने का प्रयास कर रहा हूं। सबकुछ jQuery 1.4.1 में काम करता था लेकिन अब 1.4.4 या उससे ऊपर सभी रिक्त सरणी या खाली वस्तुएं स्ट्रिंग (0) के रूप में आती हैं जो गलत है।jQuery 1.4.4+ AJAX अनुरोध - खाली सरणी पोस्ट करें या ऑब्जेक्ट स्ट्रिंग हो जाता है
जे एस:
$(document).ready(function() {
var obj = {};
obj.one = [];
obj.two = {};
obj.three = [];
obj.three.push('one');
obj.three.push('two');
obj.three.push('three');
obj.four = "onetwothree";
$.ajax({
type: 'POST',
url: 'ajax.php',
data: obj,
success: function(data) {
alert(data);
},
});
});
पीएचपी:
<?php
var_dump($_POST);
?>
प्रतिक्रिया:
array(4) {
["one"]=> string(0) ""
["two"]=> string(0) ""
["three"]=> array(3) {
[0]=> string(3) "one"
[1]=> string(3) "two"
[2]=> string(5) "three"
}
["four"]=> string(11) "onetwothree"
}
संस्करण में 1.4.1 यह सिर्फ नहीं भेजना होगा ["एक"] या ["दो"], लेकिन अब नए संस्करणों में, तथ्य यह है कि यह एक स्ट्रिंग के रूप में आता है पूरे आवेदन को फेंक देता है। क्या ऐसा कुछ भी है जो मैं कर सकता हूं ताकि एक खाली सरणी ([]) PHP में खाली सरणी ([]) के रूप में आती है और जावास्क्रिप्ट ऑब्जेक्ट्स के साथ ही?
हाय। क्या आपको इस समस्या का कोई समाधान मिला? मुझे इसमें भी रूचि है। आपकी पोस्ट देखने से पहले मैंने पहले से ही यह पोस्ट किया है (http://stackoverflow.com/questions/9179473/why-jquery-ajax-does-not-serialize-my-object)। –