Как отменить перезагрузку страницы после отправления POST запроса с помощью структуры fetch()

В общем, требуется отсылать определенные данные на сервер для последующей передачи этих данных другому пользователю. По заданию требуется использовать только нативный JS. В качестве сервера под json файлы использую расширение json-server под VSC. Обработка данных на сервере не входит в задание, требуется лишь описать методы под чтение и запись данных. В чтении разобрался быстро и без проблем, а вот с записью возникла проблема с тем, что после удачной отправки данных на сервер происходит перезагрузка страницы браузера, а следовательно и всего скрипта, что недопустимо по заданию. Теоретически знаю про технологию AJAX, которая позволяет загружать и выгружать данные с сервера без перезагрузки станицы. Подскажите пожалуйста как выбраться из данной ситуации. Ниже прилагаю код. Вместе с примером db.json

var id = Math.random()
const data = {
    "id" : id,
    "position_x" : 30,
    "position_y" : 50
}
window.onload = ()=>{
    const url = 'http://localhost:3000/data'
    document.querySelector('button').addEventListener('click',(e)=>request(e))
    function request(e){
        e.preventDefault()
        setResource(url,data)
            .then(event.preventDefault())
            .catch(err => console.error(err))
     }
    async function setResource(url,data){
        // console.log('Отправка')
        const resource = await fetch(url,{
            method : 'POST',
            headers:{
                'Content-type': 'application/json'
            },
            body: JSON.stringify(data)
        })
        if(!resource.ok){
            throw new Error(`Не могу зафетчить адрес ${url}, статус ${resource.status}`)
        }
    }
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="./js/script.js"></script>
    <title>Document</title>
</head>
<body>
        <button>Отправить</button>
</body>
</html>

//db.json { "data": [ { "id": 0, "position_x": 10, "position_y": 50 }, { "id": 1, "position_x": 20, "position_y": 50 } ] }


Ответы (0 шт):