Alguém poderia me dar um exemplo de como fazer o cadastro de produto (com o arquivo sumário) via AJAX, preparando os dados para envio e recebendo os mesmos no controller para que sejam gravados no banco da mesma forma que uma requisição normal.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Alguém poderia me dar um exemplo de como fazer o cadastro de produto (com o arquivo sumário) via AJAX, preparando os dados para envio e recebendo os mesmos no controller para que sejam gravados no banco da mesma forma que uma requisição normal.
Opa, acho que esse código pode te ajudar.. o exemplo usa jquery.
$("#formulario").submit(function () {
var formData = new FormData(this);
$.ajax({
url: 'enderecoDeEnvio',
type: 'POST',
data: formData,
success: function (data) {
console.log("deu certo");
},
cache: false,
contentType: false,
processData: false,
xhr: function() { // Custom XMLHttpRequest
var myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
myXhr.upload.addEventListener('progress', function () {
/* faz alguma coisa durante o progresso do upload */
}, false);
}
return myXhr;
}
});
});
Associa ao clique do botão do formulário e verifica se da certo.
E ai Alberto, tranquilo? É isso mesmo cara, deu certo obrigado. OBS: Só precisamos cancelar o comportamento padrão ao submeter o formulário:
$("#formulario").submit(function (evt) {
evt.preventDefault();
//restante do código