Есть несколько проблем с вашим кодом.
- Синхронный режим устарел, но вы его включаете
- Вы не установили заголовок Content-Type для описания типа содержимое, которое вы пытаетесь PUT
- Вы передаете простой объект
send
вместо одного из форматов данных, которые он принимает
Возможно, вы пытаетесь PUT a JSON текст, поэтому вам нужно установить тип содержимого для JSON и закодировать ваш объект как JSON.
const data = {state: attempt};
const json = JSON.encode(data);
const xhr = new XMLHttpRequest();
xhr.open('PUT', attemptUrl + '/' + mode);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(json);