san_jorich
@san_jorich
Творческий кодер

Первый элемент — объект, остальные — array?

Здравствуйте!
Есть код, который парсит блоки и собирает данные для последующей 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"]



Как поправить ситуацию, что не так сделал?
  • Вопрос задан
  • 240 просмотров
Решения вопроса 2
sslion
@sslion
613218fb74adf587733977.png

разуй глаза
Ответ написан
Stalker_RED
@Stalker_RED
var dates= {};
for ... {
   dates=[];
}


Вас там заставляют строчки экономить?

И вообще, часть кода можно выбросить или упростить
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы