Доброго времени суток! Я начинающий фронт. С аяксоми первый раз работаю, прошу помощи в разъяснении, гугл не выручил(
имею следующую задачу.
при клике на кнопку всплывает попап, в котором находится окошко чата с одним инпутом. Пользователь строит диалог с ботом и при каждом сабмите формы данные должны аяксом отправляться на серве, а сообщение из инпута перемещается в окно чата.
Писал всё локально, без сервера, работает, сообщения в чатик поступают. Но как залил на сервер при сабмите происходит переход на 404, либо вообще не сабмитится, если использовать event.preventDefault();
Пробовал убирать кнопку c type="submit и ставить простой span вместо него, всё равно страница перезагружается после отправки данных формы.
Прошу подсказать, как сделать, чтоб код работал как на локальной машине.
код функции для отправки данных на сервер:
$( document ).ready(function() {
function AjaxFormRequest() {
var messages = [].slice.call(document.getElementById('chatbot-message').querySelectorAll('.from-user'));
var lastMsg = document.getElementById('chatbot-input').value;
var filteredMessages = messages.map(
(msgBlock) => {
return msgBlock.textContent.replace('Вы: ', '')
})
console.log(filteredMessages);
console.log(lastMsg);
$.ajax({
url: "test.php",
type: "POST",
dataType: "html",
data: JSON.stringify(filteredMessages + ' , ' + lastMsg),
// success: function(res) {
// alert(res);
// }
// error: function(res) {
// alert('shit happens');
// }
});
}
$("#chatbot-submit").click(
function(){
AjaxFormRequest(null, $("#chatForm").attr("action"));
// e.preventDefault();
// return false;
}
)
});
здесь весь код