#javascript #jquery #ajax #object #post
#javascript #jquery #ajax #объект #Публикация
Вопрос:
я пытаюсь отправить post-запрос в БД с помощью jquery. Хотя, когда я отправляю запрос, который содержит два свойства; первое — строка (которая является датой), а второе — массив, он устанавливает ключ массива в объекте в строку с квадратными скобками в конце: 'daysweek[]'
. ключ даты в порядке, как и ожидалось. Кто-нибудь знает, почему это происходит, и как я могу это исправить?
let shifts = document.querySelectorAll('.checkbox');
$("#saveBtn").click((e)=>{
e.preventDefault();
let date = $('#date-input').val();
if(!date){
alert('Please insert a valid date');
return
}
let daysweek = [];
shifts.forEach(shift => {
daysweek.push(shift.value);
});
$.post("/shifts?_method=PUT",
{
date: date,
daysweek: daysweek
},
()=>{
$("#saveModal").modal("show");
});
});
И это запрос, который я получаю на сервере:
[Object: null prototype] {
date: '2020-10-31',
'daysweek[]': [
'false', 'false', 'false',
'false', 'false', 'false',
'false', 'false', 'false',
'false', 'false', 'false',
'false', 'false', 'false',
'false', 'false', 'false',
'false', 'false', 'false'
]
}
Комментарии:
1. Попробуйте добавить кавычки в объект :
'daysweek': daysweek
. Используя 3-й пример отсюда . Hth.2. да, я пробовал, и это тоже не работает.