Сообщение от zloy_ej
|
то запрос все равно отправляется. Почему так происходит, и как надо?
|
Потому, что выход из frm.onsubmit происходит раньше, чем закончится
AJAX("POST", requestURL, body) и запрос уже будет отпроавлен. А event.preventDefault() будет выполняться уже потом
Не знаю вашего html кода, но сделать можно так - вместо кнопки <input type=submit> использовать <button type=button> и вместо frm.onsubmit
const requestURL = '/get_building';
let frm = document.forms[0];
let but = ...// наша кнопка
but.onclick = async function(event) {
let body = 'building_name=' + frm.building_name.value; //получаем 'building_name=123', Если ввели в форму 123
let answer = AJAX("POST", requestURL, body)
answer.then(data => {
if(data.resp=='New'){
console.log('Новое здание');
frm.submit()
}
else {
console.log('Старое здание');
}
})
.catch(err => console.log(err))
}