Этот код создает форму, которая отправляет данные через AJAX и обрабатывает их на сервере с использованием класса Request в 1С-Битрикс
| Код |
|---|
<?php
require $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php';
use Bitrix\Main\Application;
$request = Application::getInstance()->getContext()->getRequest();
if ($request->getRequestMethod() === 'POST' && $request->isAjaxRequest()) {
$postData = $request->getPostList()->toArray();
$response = [
'status' => 'success',
'data' => $postData,
'message' => 'Данные успешно получены через AJAX'
];
header('Content-Type: application/json');
echo json_encode($response);
die();
}
require $_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php';
?>
<form method="post" id="demoForm">
<input type="text" name="test_field" placeholder="Введите данные">
<button type="submit">Отправить</button>
</form>
<div id="result"></div>
<script>
document.addEventListener('DOMContentLoaded', function() {
document.getElementById('demoForm').addEventListener('submit', function(e) {
e.preventDefault();
fetch('', {
method: 'POST',
headers: {'X-Requested-With': 'XMLHttpRequest'},
body: new FormData(this)
})
.then(response => response.json())
.then(data => {
document.getElementById('result').innerHTML = data.message;
console.log('Получены данные:', data.data);
})
.catch(error => console.error('Ошибка:', error));
});
});
</script>
<?php
require $_SERVER['DOCUMENT_ROOT'].'/bitrix/footer.php'; |