jQuery 1.4.4+ solicitud AJAX: publicar una matriz vacía o un objeto se convierte en cadena
Tengo un objeto en Javascript que estoy tratando de enviar AJAX a un script PHP. Todo funcionó en jQuery 1.4.1 pero ahora en 1.4.4 o sobre todo, las matrices vacías o los objetos vacíos llegan como una cadena (0) que es incorrecta.
JS:
$(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:
<?php
var_dump($_POST);
?>
RESPUESTA
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"
}
En la versión 1.4.1 simplemente NO enviaría ["uno"] o ["dos"], pero ahora en las versiones más nuevas, el hecho de que llegue como una cadena descarta toda la aplicación. ¿Hay algo que pueda hacer para que una matriz vacía ([]) llegue a PHP como una matriz vacía ([]) y lo mismo con los objetos JavaScript?