Да, вы можете отправлять HTTP-запросы с HTML-страницы на локальный сервер, работающий на XAMPP, с использованием JavaScript и PHP. Вы уже правильно начали с JavaScript и используете `fetch` для выполнения POST-запроса. Рассмотрим, как обработать эти данные на стороне PHP.
### 1. Настройка сервера на XAMPP
Убедитесь, что ваш XAMPP работает, и вы разместили ваш файл `php.php` в каталоге `htdocs` (или в подпапке, например, `test`). Полный путь к файлу будет: `C:\xampp\htdocs\test\php.php` (или `C:\xampp\htdocs\php.php` если вы находитесь непосредственно в папке `htdocs`).
### 2. Обработка данных в PHP
Теперь создайте файл `php.php` со следующим содержимым:
```php
<?php
// Указываем, что ответ будет в формате JSON
header('Content-Type: application/json');
// Прочитаем входящие данные
$data = json_decode(file_get_contents('php://input'), true);
// Проведем какую-то обработку данных, например, вывести их в лог
file_put_contents('log.txt', print_r($data, true), FILE_APPEND);
// Подготовим ответ
$response = [
'status' => 'success',
'data' => $data,
];
// Отправляем JSON-ответ
echo json_encode($response);
?>
```
### 3. Модификация JavaScript
Ваш JavaScript код почти готов, но чтобы обработать ответ от сервера, добавьте обработчик `.then()` к вашему запросу `fetch`:
```javascript
godb.onclick = function() {
console.log('ok');
let user = {
name: 'John',
surname: 'Smith'
};
fetch('http://localhost/test/php.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=utf-8'
},
body: JSON.stringify(user)
})
.then(response => response.json()) // Обрабатываем ответ от сервера
.then(data => console.log(data)) // Выводим ответ в консоль
.catch(error => console.error('Ошибка:', error)); // Обработка ошибок
};
```
### 4. Запуск и тестирование
1. Запустите Apache в панели управления XAMPP.
2. Откройте ваш HTML-файл в браузере (или запустите локальный сервер и откройте адрес, например: `http://localhost/test.html`).
3. Нажимайте на кнопку "Отправить данные", и вы должны увидеть данные, отправленные на сервер, и ответ от сервера в консоли браузера. Также проверяйте файл `log.txt` в папке `test` для проверки логов.
### Заключение
Теперь вы можете отправлять данные с клиентской стороны на сервер и обрабатывать их с помощью PHP. Это основа для построения более сложных веб-приложений и API. Удачи в изучении веб-технологий!