Как создать собственный виджет, позволяющий пользователям веб-сайта проверять доступность моего календаряPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как создать собственный виджет, позволяющий пользователям веб-сайта проверять доступность моего календаря

Сообщение Anonymous »

У меня есть PHP-код, который создает внешний виджет для моего веб-сайта, который позволяет зрителям проверять доступность моего календаря. Вот основные параметры виджета:
  • Он получает выбранную дату в качестве параметра (selectedDate).
  • Он имитирует серверная логика для определения доступности на основе выбранной даты.
    В предоставленном коде серверная логика представляет собой простое сравнение выбранной даты с той же датой в Календаре Google.
  • Если выбранная дата в данный момент не имеет событий в этот день в календаре Google, функция возвращает true, указывая на доступность.
  • Если в выбранную дату в данный момент есть какие-либо события в этот день день вообще в календаре Google, функция возвращает false, указывая на недоступность.
Однако проблема в том, что выдает только доступное сообщение, независимо от фактическая доступность календаря. Я не указал фактический ключ и идентификатор API календаря для этого сообщения, но я дважды проверил точность этой информации. Я специально ищу информацию о потенциальных ошибках в коде. Любая помощь будет принята с благодарностью.






Availability Checker




Select a date:

Check Availability



function checkAvailability() {
const selectedDate = document.getElementById('datePicker').value;

// Perform client-side validation if needed

// Display loading message
document.getElementById('availabilityMessage').innerText = 'Checking availability...';

// Simulate server response
simulateServerResponse(selectedDate)
.then(isAvailable => {
const message = isAvailable ? 'Yay, we are available!' : 'Sorry, we are unavailable';
document.getElementById('availabilityMessage').innerText = message;
})
.catch(error => {
console.error('Error checking availability:', error);
document.getElementById('availabilityMessage').innerText = 'Error checking availability';
});
// Prevent the form from submitting
return false;
}

function simulateServerResponse(selectedDate) {
return fetch('', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: 'action=check_availability&selected_date=' + encodeURIComponent(selectedDate)
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.text();
})
.then(data => {
return data === 'Available';
})
.catch(error => {
console.error('Error fetching availability:', error);
return false;
});
}

// Initialize flatpickr date picker
flatpickr('#datePicker', {
dateFormat: 'Y-m-d',
minDate: 'today', // Optionally set a minimum date
});








Подробнее здесь: https://stackoverflow.com/questions/783 ... r-availabi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»