Esse foi o código que eu mesmo fiz pesquisando o método post pelos fóruns da net
<script>
function sendPost(event) {
event.preventDefault();
console.log("Enviando post");
class Neg{
constructor(){
let $ = document.querySelector.bind(document)
this.data = $('#data').value;
this.qtd = $('#quantidade').value;
this.valor = $('#valor').value;
}
}
var xhr = new XMLHttpRequest();
xhr.open("POST", '/negociacoes', true);
// Envia a informação do cabeçalho junto com a requisição.
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function() { // Chama a função quando o estado mudar.
if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
console.log(xhr.responseText)
}
}
xhr.send(JSON.stringify(new Neg()));
}
</script>
Esse foi o código feito depois de vê o resultado
<script>
function sendPost(event) {
event.preventDefault();
console.log("Enviando post");
let $ = document.querySelector.bind(document)
let data = $('#data');
let qtd = $('#quantidade');
let valor = $('#valor');
let negociacao = {
data : data.value,
qtd : qtd.value,
valor : valor.value
}
var xhr = new XMLHttpRequest();
xhr.open("POST", '/negociacoes', true);
// Envia a informação do cabeçalho junto com a requisição.
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function() { // Chama a função quando o estado mudar.
if (xhr.readyState == 4) {
if (xhr.status == 200) {
data.value = '';
qtd.value = 1;
valor.value = 0.0;
data.focus();
alert('Negociação enviada com sucesso');
} else {
alert(`Não foi possível enviar a negociação: ${xhr.responseText}`);
}
}
}
xhr.send(JSON.stringify(negociacao));
}
</script>