Событие сервера экспресс-вызовов от клиента

#javascript #node.js #express #server #client

Вопрос:

У меня есть экспресс-приложение с сервером, подключенным к клиенту. У меня есть данные сервера, которые я хочу отправить клиенту, и кнопка на клиенте, с помощью которой я хочу запустить функцию на сервере. Я успешно реализовал подключение сервер-> клиент с помощью следующего кода:

клиент js

 const source = new EventSource('/events');

    source.addEventListener('message', message => {
...
    });
 

сервер js

 express()
...
    .get('/events', async function(req, res) {
        res.set({
          'Cache-Control': 'no-cache',
          'Content-Type': 'text/event-stream',
          'Connection': 'keep-alive'
        });
        res.flushHeaders();
        while (true) {
          await new Promise(resolve => setTimeout(resolve, 1000));
           res.write(`data: some textnn`);
          
        }
      })
...
 

Это позволяет мне отправлять данные клиенту с сервера. Однако у меня также есть кнопка на клиенте, которую я хотел бы вызвать для функции на сервере. Я думаю, что видел методы с ajax, но я стараюсь избегать этого, если это возможно. Есть ли способ сделать в основном обратное приведенному выше коду, где я могу вызвать событие сервера от клиента (например, событие отправки клиента вместо события отправки сервера, которое я описал выше), без ajax?
Спасибо