i have an associative array with lists. Take a look at the following JSON:
console.log(JSON.stringify(fields);
Output
{
"sb1":[],
"sb2":["val1","val2","val3"],
"sb3":["val1","val2","val3"]
}
As you can see, array-entry "sb1" is empty. Array "sb1" disappear while posting var "fields" to PHP.
Here is a code-snippet:
$(document).ready(function() {
$("#button").click(function(e) {
e.preventDefault();
var fields = {};
//The following saves selectboxes and options in var fields//
$("select").each(function() {
var $select = $(this);
fields[$select.attr('name')] = $select.find('option').map(function() {
return $(this).val();
}).get();
});
var jsonObj = fields;
var jsonStringify = JSON.stringify(fields);
console.log("JSON.stringify(fields): " + jsonStringify);
//Result is OK
$.ajax({
url: "saveJson.php",
type: "post",
data: { jsonStringify : jsonStringify },
success: function (response) {
console.log("data transmitted: " + response);
//Response doesnt transmit empty arrays!
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
});
});