Spaces:
Runtime error
Runtime error
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>API Request</title> | |
<style> | |
body { | |
font-family: Arial, sans-serif; | |
text-align: center; | |
background-color: #f0f0f0; | |
margin: 0; | |
padding: 0; | |
} | |
h1 { | |
background-color: #4CAF50; | |
color: white; | |
padding: 20px; | |
margin: 0; | |
border-bottom: 2px solid #388E3C; | |
font-size: 28px; | |
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); | |
} | |
button { | |
display: block; | |
margin: 20px auto; | |
color: white; | |
background-color: #4CAF50; | |
border: none; | |
cursor: pointer; | |
padding: 10px 20px; | |
font-size: 16px; | |
border-radius: 5px; | |
transition: background-color 0.3s ease; | |
} | |
button:hover { | |
background-color: #388E3C; | |
} | |
</style> | |
</head> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>Комменты Бизон 365</title> | |
</head> | |
<body> | |
<h1>Комменты Бизон 365</h1> | |
<!-- Поле для ввода токена --> | |
<label for="tokenInput">Enter Token:</label> | |
<input type="text" id="tokenInput" placeholder="Your Token"> | |
<!-- Поле для выбора минимальной даты --> | |
<label for="dateSelect">Select Min Date:</label> | |
<input type="datetime-local" id="dateSelect"> | |
<!-- Поле для выбора максимальной даты --> | |
<label for="maxDateSelect">Select Max Date:</label> | |
<input type="datetime-local" id="maxDateSelect"> | |
<!-- Поле для ввода лимита --> | |
<label for="limitInput">Limit:</label> | |
<input type="number" id="limitInput" value="20" min="1" max="100"> | |
<!-- Поле для выбора типа вебинаров --> | |
<label for="typeSelect">Type:</label> | |
<select id="typeSelect"> | |
<option value="LiveWebinars">Live Webinars</option> | |
<option value="AutoWebinars">Auto Webinars</option> | |
</select> | |
<!-- Кнопка для отправки запроса --> | |
<button id="sendRequestButton">Send Request</button> | |
<!-- Текстовое поле для отображения ответа на запрос --> | |
<textarea id="responseArea" rows="10" cols="50" readonly></textarea> | |
<!-- Контейнер для выпадающего списка --> | |
<div id="dropdown-container"></div> | |
<!-- Кнопка для отправки GET-запроса --> | |
<button id="sendGetRequestButton">Send GET Request</button> | |
<!-- Текстовое поле для отображения ответа на GET-запрос --> | |
<textarea id="secondResponseArea" rows="10" cols="50" readonly></textarea> | |
<script> | |
// Обработчик клика по кнопке отправки запроса | |
document.getElementById('sendRequestButton').addEventListener('click', function() { | |
const token = document.getElementById('tokenInput').value; | |
const minDate = document.getElementById('dateSelect').value; | |
const maxDate = document.getElementById('maxDateSelect').value; | |
const limit = document.getElementById('limitInput').value; | |
const type = document.getElementById('typeSelect').value; | |
const url = '/send_request'; | |
const params = new URLSearchParams(); | |
params.append('token', token); | |
params.append('minDate', minDate); | |
params.append('maxDate', maxDate); | |
params.append('limit', limit); | |
params.append('type', type); | |
fetch(url, { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/x-www-form-urlencoded' | |
}, | |
body: params.toString() | |
}) | |
.then(response => response.json()) | |
.then(data => { | |
console.log('JSON Response:', data); | |
document.getElementById('responseArea').value = JSON.stringify(data, null, 2); | |
createDropdown(data); | |
}) | |
.catch(error => { | |
console.error('Error:', error); | |
document.getElementById('responseArea').value = 'Error: ' + error.message; | |
}); | |
}); | |
// Функция для создания выпадающего списка | |
function createDropdown(data) { | |
const container = document.getElementById('dropdown-container'); | |
container.innerHTML = ''; // Очистить контейнер перед добавлением нового списка | |
const select = document.createElement('select'); | |
select.id = 'dropdown'; | |
data.forEach(item => { | |
const option = document.createElement('option'); | |
option.value = item; | |
option.text = item; | |
select.appendChild(option); | |
}); | |
container.appendChild(select); | |
} | |
// Обработчик клика по кнопке отправки GET-запроса | |
document.getElementById('sendGetRequestButton').addEventListener('click', function() { | |
const selectedValue = document.getElementById('dropdown').value; | |
const token = document.getElementById('tokenInput').value; | |
const getUrl = `/send_get_request?token=${encodeURIComponent(token)}&webinarId=${encodeURIComponent(selectedValue)}`; | |
fetch(getUrl, { | |
method: 'GET' | |
}) | |
.then(response => response.json()) | |
.then(data => { | |
console.log('GET Response:', data); | |
document.getElementById('secondResponseArea').value = JSON.stringify(data, null, 2); | |
}) | |
.catch(error => { | |
console.error('Error:', error); | |
document.getElementById('secondResponseArea').value = 'Error: ' + error.message; | |
}); | |
}); | |
</script> | |
</body> | |
</html> | |
</html> |