Здравствуйте!
Есть код, который парсит блоки и собирает данные для последующей ajax передачи на обработку
Код JS
jQuery("#save_grafic").on("click",function(){
var sheduler_data = es_parse_workingSheduler_data();
jQuery.ajax({
url: ajax_url,
type: 'POST',
dataType: 'json',
data: { action: "es_save_workingSheduler_data", sheduler_data:sheduler_data,},
success: function(response) { console.log(response); },
error: function(response) { console.log(response); },
});
});
function es_parse_workingSheduler_data(){
var dates= {}; var data = {}; var staffUsers = [];
jQuery(document).find(".staff").each(function(){ staffUsers.push(jQuery(this).attr("staff_id")); });
for(var i = 0; i < staffUsers.length; i++) {
jQuery(document).find(".day[user_id="+staffUsers[i]+"]").each(function(){
var day_status = jQuery(this).attr("day_status");
var day = jQuery(this).attr("day");
var user_id = jQuery(this).attr("user_id");
if(day_status !==""){ dates[day] = day_status; }
}); data[ staffUsers[i] ] = dates; dates=[];
}
console.log(data);
return data;
}
В PHP приходит какое-то не то.. array_count выдает 1. .
JSON.stringify() -> -> unslash не помогли..
вывел отправку в консоль и заметил странность: первый элемент
data - объект, а остальные - массив.
Вывод консоли
{1: {…}, 4: Array(0), 5: Array(0), 6: Array(0), 8: Array(0)}
1:
2021-09-01: "work_9-18"
2021-09-02: "work_12-21"
2021-09-03: "work_12-21"
2021-09-04: "work_9-18"
2021-09-05: "weekend"
[[Prototype]]: Object
4: Array(0)
2021-09-04: "work_9-18"
length: 0
[[Prototype]]: Array(0)
5: Array(0)
2021-09-02: "work_12-21"
2021-09-05: "work_9-18"
length: 0
[[Prototype]]: Array(0)
6: [2021-09-01: "work_9-18"]
8: [2021-09-03: "work_9-18"]
Как поправить ситуацию, что не так сделал?