Я пытаюсь использовать подготовленный оператор и параметры для отправки данных в базу данных через ajax, но получаю ошибку о неизвестном методе. Отправка данных в базу данных с помощью обычного запроса работает нормально
Html
Jquery
PHP
<form action="/" method="post" class="main-hero-form">
<div class="form-row">
<input class="form-control" type="text" name="name" placeholder="Ваше имя" autocomplete="name" required="">
<input class="form-control" type="tel" name="tel" placeholder="Телефон" autocomplete="phone" required="">
<input class="d-none" type="text" name="service" value="Тепловые центры на жидком и газовом топливе с автономной работой">
</div>
<input type="submit"value="Запросить стоимость, условия и времени поставки" class="main-hero-form-send">
<p class="main-hero-text">В течении <span>15 минут</span> вы получите звонок от нашего менеджера, который предоставит подробную консультацию.</p>
</form>
$(document).ready(function() {
$('input[type="submit"]').on('click', function() {
$.ajax({
url: 'index.php?route=demo/test&language=ru-ru',
type: 'post',
dataType: 'json',
data: {
'firstname': $('input[name="name"]').val(),
'telephone': $('input[name="tel"]').val(),
'service' : $('input[name="service"]').val(),
},
success: function(data) {
if(data.success) {
alert("Заметка добавлена!")
} else {
alert("Ошибка записи!")
}
}
});
});
});
public function index() {
$json = array();
date_default_timezone_set('Asia/Almaty');
$name = $this->request->post['name'];
$tel = $this->request->post['tel'];
try {
$sql = "INSERT INTO " . DB_PREFIX . "customer(customer_group_id, firstname, telephone) VALUES (1, ?, ?)";
$this->db->execute_query($sql, [$name, $tel]);
$json['success'] = 1;
} catch (\Exception $e) {
$json['success'] = 0;
}
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
Майя
Вопрос задан15 апреля 2024 г.