Ir para conteúdo
Fórum Script Brasil
  • 0

Alterando o custo de um produto com JavaScript e Laravel


Frank K Hosaka

Pergunta

Usar JavaScript com PHP é uma coisa, mas com o Laravel é bem diferente.

Precisei trabalhar com um marcador diferente para a rotina funcionar:

<meta name="csrf-token" content="{{ csrf_token() }}">

os principais códigos são esses:

arquivo resources > views > teste.blade.php
@include('menuView')
<meta name="csrf-token" content="{{ csrf_token() }}">
<script>
function teste(codprod,custoAtual) 
{
    let csrfToken = document.querySelector('meta[name="csrf-token"]').
        getAttribute('content');
    let xmlhttp = new XMLHttpRequest();
    let url = "estoqueTeste";
    let formData = new FormData();
    formData.append('codprod', codprod);
    formData.append('custoAtual',custoAtual);
    xmlhttp.open("POST", url, true);
    xmlhttp.setRequestHeader('X-CSRF-TOKEN', csrfToken);
    xmlhttp.onreadystatechange = function() 
    {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
        {
            alert("custo atual é " + xmlhttp.responseText);
        } else if (xmlhttp.readyState == 4) {
            console.error("Erro: " + xmlhttp.statusText);
        }
    };
    xmlhttp.send(formData);
}
</script>
<p> Código do Produto
<input id=codprod value=74>
<p> Custo Atual
<input id=custoAtual value=20>
<p><input type=submit onclick=teste(codprod.value,custoAtual.value)>

arquivo routes > web.php
<?php
Route::post('estoqueTeste',[Estoque::class,'teste']);
Route::view('teste','teste');

arquivo app > Http > Controllers > Estoque.php
<?php
Class Estoque
{
	function teste(Request $request)
    {
        tbprod::where('codprod',$request->codprod)->update(['custo'=>$request->custoAtual]);
        return tbprod::where('codprod',$request->codprod)->value('custo');
    }
}

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...