Jump to content

Search the Community

Showing results for tags 'JavaScript'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 2445 results

  1. Bom dia Galera, Sou novo por aqui, estou estudando um pouco sobre o Google Script e Java Script. Estou tentando criar um programinha que lê e exibe em tela os dados que estão armazenados em minha Base (FibreBase). Mas quando tento puxar através da API Google google.script.run.minhaFunção() e salvar em uma variável o JavaScript passa direto não aguardando o fim da leitura de arquivo. Dei uma lida sobre ser assíncrona a requisição que estou fazendo, mazers tentei de varias forma fa aguardar mas não consegui. document.getElementById('ConsultarClientes').addEventListener( 'click', function (){ // Buscar dados FireBase Lista de Clientes const clientes = getFireBase('Clientes/Arquivos'); clientes.then(retorno => console.log(retorno)); } ,false); async function getFireBase(chave){ return google.script.run.withSuccessHandler().getFireBase(chave); }; Console log retorno
  2. Olá, estou escrevendo um código aonde preciso colocar o JSON dentro de uma array, porém, o JSON foi parciado utilizando o JSON.parse, para atribuir o conteudo do document.todosOsFretes, segue o exemplo: Queria saber qual alternativa que pode ser feita para mim poder colocar o document.todosOsFretes dentro de uma array e pesquisar nele, algum campo... Desde já agradeço.
  3. Rodrigo Biaggio

    Array com Javascript

    Pessoal, alguém consegue me ajudar? Eu preciso pegar os dados de um array, mas não estou conseguindo. <!DOCTYPE html> <!-- Inicio do html --> <html lang="pt"> <!-- Inicio do head --> <head> <meta charset="utf-8"> <script src='https://kit.fontawesome.com/a076d05399.js'></script> <link rel="icon" type="imagem/png" href="images/dynatrace.png" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <script src="https://unpkg.com/@popperjs/core@2/dist/umd/popper.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://unpkg.com/@popperjs/core@2"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> <meta http-equiv="x-ua-compatible" content="ie=edge"> <!-- CSS Customizado --> <link href="css/ambiente-monitorado.css" rel="stylesheet"> </head> <!-- Fim do head --> <!-- Inicio do body --> <body> <header> <title>Dynatrace Managed</title> <!-- Inicio do nav fixado no topo--> <div id="nav"> <nav class="navbar navbar-inverse navbar-fixed-top"> <!-- Inicio div container-fluid --> <div class="container-fluid"> <div class="navbar-header"> <!-- Imagem do logo da Dynatrace a esquerda --> <a class="navbar-brand" href="#"><img id="imagem-logo-dynatrace" src="images/dynatrace.png" width="30px" height="30px" alt="Logo Principal" title="Logo Dynatrace"></a> </div> <!-- Inicio ul nav com opções das páginas --> <ul class="nav navbar-nav nav-custom"> <li><a href="index.html">Home</a></li> <li class="active"><a href="ambiente-monitorado.html">Ambientes Monitorados</a> <li><a href="arquitetura.html">Arquitetura Dynatrace</a></li> <li><a href="#">Downtime</a></li> <li><a href="#">Indicadores</a></li> <li><a href="como-funciona.html">Licenças</a></li> <li><a href="#">Métricas</a></li> </ul> <!-- Fim ul nav com opções das páginas --> <!-- Inicio ul nav da diretia, com search e login --> <ul class="nav navbar-nav navbar-right nav-custom"> <!-- Icone e botão login --> <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li> <!-- Inicio form do search --> <form class="navbar-form navbar-left" action="/action_page.php"> <div class="input-group"> <!-- Input do search --> <input type="text" class="form-control" placeholder="Search" name="search"> <div class="input-group-btn"> <!-- Botão de submit do search --> <button class="btn btn-default" type="submit"> <!-- Icone do search --> <i class="glyphicon glyphicon-search"></i> </button> </div> <!-- Fim div input-group-btn --> </div> <!-- Fim div input-group --> </form> <!-- Fim form do search --> </ul> <!-- Fim ul nav da diretia, com search e login --> </div> <!-- Fim div container-fluid --> </nav> </div> <!-- Fim do nav fixado no topo--> </header> <div id="div-main"> <div id="div-botoes-pesquisa"> <button class="button-title btn btn-info" id="button-buscar-licencas-ambiente" data-toggle="tooltip" aria-pressed="false"><i class="fas fa-bezier-curve fa-2x" aria-hidden="true" title="Por Ambiente"></i></button> <button class="button-title btn btn-info" id="button-buscar-licencas-servidor"><i class="fas fa-server fa-2x" aria-hidden="true" title="Por Servidor"></i></button><br><br> <input class="form-control mr-sm-2" type="text" id="input-search-host-group" name="filtro" placeholder="Filtrar"> </div> <div id="div-mostra-total-licencas"></div> <div id="div-table-licencas" class="div-table-licencas table-responsive"> <table class="table table-striped table-hover table-bordered" id="table-licencas"> <thead> <tr> <th class="linha-titulo-tabela">Problema</th> <th class="linha-titulo-tabela">Camada Impactada</th> <th class="linha-titulo-tabela">Status</th> <th class="linha-titulo-tabela">Tipo Erro</th> <th class="linha-titulo-tabela">Usuários Impactados</th> </tr> </thead> <tbody id="table-body"> </tbody> </table> </div> <div id="demo"></div> </div> <script src="js/api-get-problems.js"></script> <script src="js/disable-button.js"></script> <script src="js/filtrar-search-licencas.js"></script> </body> <!-- Fim do body --> </html> <!-- Fim do html --> $(document).ready(function() { const Url=''; $("#button-buscar-licencas-ambiente").click(function(){ $.ajax({ url: Url, type:"GET", success: function(result){ console.log(result); var problema = result.problems; var userimpactado = result.problems.impactAnalysis; $.each(problema, function(i, value) { console.log('The value at arr[' + i + '] is: ' + value.displayId); var newRow = $('<tr class="linha-table">'); var cols = ""; cols += '<td class="displayId" id="displayId">' + value.displayId + '</td>'; cols += '<td class="impactLevel" id="impactLevel">' + value.impactLevel + '</td>'; cols += '<td class="status" id="status">' + value.status + '</td>'; cols += '<td class="title" id="title">' + value.title + '</td>'; cols += '<td class="estimatedAffectedUsers" id="estimatedAffectedUsers">' + value.impactAnalysis.impacts.estimatedAffectedUsers + '</td>'; newRow.append(cols); $("#table-licencas").append(newRow); }); }, error:function(error){ console.log('Error ${error}') } }); }); }); Preciso pegar as informações dos campos estimatedAffectedUsers: numberOfPotentiallyAffectedServiceCalls: Cada value.displayId pode ter 1 ou mais impactedEntity. impactAnalysis: { impacts: [ { impactType: "SERVICE", impactedEntity: { entityId: { id: "SERVICE-034769111916BA3B", type: "SERVICE" }, name: "" }, estimatedAffectedUsers: 0, numberOfPotentiallyAffectedServiceCalls: 4496 }, { impactType: "APPLICATION", impactedEntity: { entityId: { id: "APPLICATION-A8D06FDBBA2EE7F6", type: "APPLICATION" }, name: "" }, estimatedAffectedUsers: 2 }, { impactType: "SERVICE", impactedEntity: { entityId: { id: "SERVICE-B7A98E7FDD81118A", type: "SERVICE" }, name: "online-importer-server-v*" }, estimatedAffectedUsers: 0, numberOfPotentiallyAffectedServiceCalls: 775 }, { impactType: "SERVICE", impactedEntity: { entityId: { id: "SERVICE-D773255CD13D8968", type: "SERVICE" }, name: "" }, estimatedAffectedUsers: 1, numberOfPotentiallyAffectedServiceCalls: 34 } ]
  4. marceloDiegues

    Custo e Tecnologia.

    Olá, amigos. Por favor, me ajude com a seguintes perguntas. Qual a complexidade de um projeto desse? Qual o preçp de um projeto desse tipo? Quero contratar algum profissional para criar um site que tenha as seguintes funcionabilidades: 1- Cadastro de usuário; 2- Login e senha; 3- O site seria muito parecido com o www.qconcursos.com, o usuário resolveria questões online. Contudo, haveria a possibilidade de criar salas tipo aqueles bate-papo da &nbsp;UOL. Então, o usuário criaria salas de estudos, em que , resolveria questões e conseguiria se comunicar por chat com usuários que estejam na mesma sala. Exemplo em anexo:
  5. Tenho uma lista de DIV's com a mesma class name informado valor de desconto nos itens porém está dando casa decimal e gostaria de tirar isso... utilizei o Math.round() porém não está surtindo efeito. Seria pegar esse valor --> aplicar esse Math.round() e devolver corrigido. É possível fazer isso sem informar o valor literal do registro? Até anexei um print do console da página function porcentagem(){ var a = document.getElementsByClassName('prateleira-label-desconto').value; b = Math.round(a); document.getElementsByClassName("prateleira-label-desconto").innerHTML= b; }
  6. Ola boa noite! td bem com vcs? Galera estou precisando de um codigo que quando der um certo horario tipo 10:00 hs da manhã o codigo mostra a div. E as 16:00 hs o codigo OCULTA a div automaticamente. Tenho um Codigo que faz isso, mas tem q clicar em um botão, vejam abaixo: <script src="https://stacksnippets.net/scripts/snippet-javascript-console.min.js?v=1"></script> <div id="minhaDiv" style="display:none">Conteudo</div> <button type="button" onclick="Mudarestado('minhaDiv')">Mostrar / Esconder</button> <script type="text/javascript"> function Mudarestado(el) { var display = document.getElementById(el).style.display; if (display == "none") document.getElementById(el).style.display = 'block'; else document.getElementById(el).style.display = 'none'; } </script> obrigado!
  7. Estou a um tempo tentando criar um slider personalizado. De fato, eu até consegui e coloquei no codepen. https://codepen.io/carcleo/pen/yLVOxMv Mas uma implementação não estou conseguindo fazer. Nos sliders prontos que pegamos na web, ao redimencionar manualmente o navegador, a UL que abriga as LI's com os Slides, se redimenciona junto e isso não acontece com o meu, Isto é, ao diminuir a janela do navegador, as imagens acompanham o tamanho das LIs, mas como não consigo redimencinar a UL junto os slides acabam se mostrando de forma errada. Não consegui uma forma de fazer o CSS fazer esse serviço. Só consegui com JS. Se alguém puder ajudar? Obs.: não quero copiar da internet, meu objetivo é entender a logica da coisa
  8. Gostaria de uma ajuda com uma questão relacionada ao nodejs. Estou tentando salvar informações que recebo de um arquivo local json ao banco de dados. esse arquivo me traz varias objetos, e o que preciso fazer é salvar objeto por objeto exemplo: let pessoa = [ {nome : 'Fulano1' , sobrenome : 'Beltrano1', idade : 80} {nome : 'Fulano2' , sobrenome : 'Beltrano2', idade : 90} {nome : 'Fulano3' , sobrenome : 'Beltrano3', idade : 100} ] Estou realizando um laço para salvar cada volta, pois preciso inferir uma data em cada objeto. Estou tentando salvar utilizado o: do{}while(i > contador) Código que estou tentando usar: setUm = async (req, res, next) => { fs.readFile('./public/assets/images/data_dragon/pt_br/data/set1-pt_br.json' , 'utf8' , function(err , data ){ if(err){ return console.log('erro ao ler o arquivo'); } let jsonData = JSON.parse(data); let counter = jsonData.length; let i = -1; do{ i = i + 1; let dataSave = { associatedCards : jsonData[i].assets, associatedCardRefs : jsonData[i].associatedCardRefs, assets : jsonData[i].assets, region : jsonData[i].region, egionRef : jsonData[i].regionRef, attack : jsonData[i].attack, cost : jsonData[i].cost, health : jsonData[i].health, description : jsonData[i].description, descriptionRaw : jsonData[i].descriptionRaw, levelupDescription : jsonData[i].levelupDescription, levelupDescriptionRaw : jsonData[i].levelupDescriptionRaw, flavorText : jsonData[i].flavorText, artistName : jsonData[i].artistName, name : jsonData[i].name, cardCode : jsonData[i].cardCode, keywords : jsonData[i].keywords, keywordRefs : jsonData[i].keywordRefs , spellSpeed : jsonData[i].spellSpeed, spellSpeedRef : jsonData[i].spellSpeedRef, rarity : jsonData[i].rarity, rarityRef : jsonData[i].rarityRef, subtype : jsonData[i].subtype, subtypes : jsonData[i].subtypes, supertype : jsonData[i].supertype, type : jsonData[i].type, collectible : jsonData[i].collectible, set : jsonData[i].set, } const infosave = new Infocard(dataSave); try{ infosave.save(); }catch (e) { console.error('ROLOU ALGO DE ERRADO: '+ e.message); } }while(i < counter); res.json(dataSave); }); } Abaixo meu model: const Infocard = new mongoose.Schema( { associatedCards : [String], associatedCardRefs : [String], assets : [String], region : String, regionRef : String, attack : Number, cost : Number, health : Number, description : String, descriptionRaw : String, levelupDescription : String, levelupDescriptionRaw : String, flavorText : String, artistName : String, name : String, cardCode : String, keywords : [String], keywordRefs : [String], spellSpeed : String, spellSpeedRef : String, rarity : String, rarityRef : String, subtype : String, subtypes : [String], supertype : String, type : String, collectible : Boolean, set : String, },{ timestamps : {createdAt : 'created_at'} } ); Porem não estou obtendo sucesso. Quando chamo res.json(jsonData) o json carrega normalmente no navegador com todas as informações, porém quando vou tentar salvar no banco de dados os itens chegam vazios Ideias são apreciadas. Obrigado!
  9. Estou tentando fazer a mudança dos (li) desse sistema que chamei de PRONTUARIOS, apenas arrastando de uma (ul) atual para outra que chamei de CAIXA, estou tentando recuperar o valor do id do prontuario (li) e a caixa atual que o usuário deixou o prontuario caso tenha mudado para uma nova caixa (ul). se alguem puder me ajudar, preciso recuperar o valor desses ids e atualizar no banco de dados! <script type="text/javascript"> $(document).ready(function() { $("ul").sortable({ delay: 150, connectWith: ".parent", cursor: 'move', stop: function() { var caixaAtual = new Array(); var prontuario = ''; $('li .prontuario').each(function() { //caixaAtual = $("data-id").html(); //prontuario = $("data-id").val(this); }); console.log(prontuario); //updateOrder(prontuario,caixaAtual); } }); function updateOrder(id,caixa) { $.ajax({ url:"documentos/alterar_prontuario", type:'post', data:{id:id,caixa:caixa}, success:function(data){ toastr.success('Alterado com sucesso.'); } }) } }); <div class="container mx-auto mt-3 mb-5 text-center"> <h4 class="col-12 text-center mx-auto">LISTAGEM SEGUNDO VOLUME</h4> CAIXA N° 01 <ul id="c_01" class="col-12 parent mt-0 mb-2 ui-sortable"> <li id="239" data-id="239" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-5 align-middle mx-auto p-0 text-left">ADRIANO ALVES DE ALMEIDA</td> <td class="col-2 align-middle mx-auto p-0 text-center">617.598-8</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1257101/2020</td> <td class="d-print-none col-1 align-middle mx-auto p-0 text-center"><a type="button" class="btn btn-outline-danger" </tr> </tbody></table> </li> <li id="247" data-id="247" class="col-12 mx-auto prontuario ui-sortable-handle" style="position: relative; left: 0px; top: 0px;"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">5</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEX JORGE MELO DA SILVA</td> <td class="col-2 align-middle mx-auto p-0 text-center">664.041-1</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1251911/2020</td> </tr> </tbody></table> </li><li id="241" data-id="241" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEF DA SILVA OLIVEIRA</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.199.560-2</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center"></td> </tr> </tbody></table> </li> <li id="240" data-id="240" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">3</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEX ALVES CERQUEIRA</td> <td class="col-2 align-middle mx-auto p-0 text-center">340.704-6</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1809667/2020</td> </tr> </tbody></table> </li> <li id="248" data-id="248" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">6</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEX XAVIER PIAUI</td> <td class="col-2 align-middle mx-auto p-0 text-center">771.513-9</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1243357/2020</td> </tr> </tbody></table> </li> <li id="249" data-id="249" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">7</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEXANDRE DE OLIVEIRA MEDEIROS</td> <td class="col-2 align-middle mx-auto p-0 text-center">893.604-9</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1415815/2020</td> </tr> </tbody></table> </li><li id="246" data-id="246" class="col-12 mx-auto prontuario ui-sortable-handle" style="position: relative; left: 0px; top: 0px;"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">4</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEX EDUARDO DE JESUS LOURENCO</td> <td class="col-2 align-middle mx-auto p-0 text-center">236.643-3</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1392042/2020</td> </tr> </tbody></table> </li> <li id="250" data-id="250" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">8</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEXANDRE PEREIRA DA COSTA</td> <td class="col-2 align-middle mx-auto p-0 text-center">932.592-9</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1532754/2020</td> <td class="d-print-none col-1 align-middle mx-auto p-0 text-center"><a type="button" class="btn btn-outline-danger" href="http://10.14.101.160/cimic/?url=documentos/excluir_segundo_volume/250" title="APAGAR"><i class="fa fa-trash"></i></a></td> </tr> </tbody></table> </li> </ul> CAIXA N° 02 <ul id="c_02" class="col-12 parent mt-0 mb-2 ui-sortable"> <li id="242" data-id="242" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEXSANDRO HENRIQUE FRANCA CAMARGO DE MOURA</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.224.350-7</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">2092453/2020</td> </tr> </tbody></table> </li> <li id="251" data-id="251" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-5 align-middle mx-auto p-0 text-left">AMAURI FERREIRA DA SILVA</td> <td class="col-2 align-middle mx-auto p-0 text-center">613.004-1</td> <td class="col-1 align-middle mx-auto p-0 text-center">3</td> <td class="col-2 align-middle mx-auto p-0 text-center">1243426/2020</td> </tr> </tbody></table> </li> <li id="prontuario" data-id="243" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0"> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">3</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDERSON LIMA RIBEIRO GONCALVES</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.164.179-2</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center"></td> </tr> </tbody></table> </li> <li id="252" data-id="252" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">4</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDERSON SOUZA VELOSO</td> <td class="col-2 align-middle mx-auto p-0 text-center">277.426-3</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center"></td> </tr> </tbody></table> </li> <li id="244" data-id="244" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">5</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDRE ALMEIDA</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.096.394-0</td> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-2 align-middle mx-auto p-0 text-center"></td> </tr> </tbody></table> </li> <li id="245" data-id="245" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">6</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDRE LUIZ RODRIGUES</td> <td class="col-2 align-middle mx-auto p-0 text-center">465.133-7</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">2213488/2020</td> </tr> </tbody></table> </li> </ul> CAIXA N° 03 <ul id="c_03" class="col-12 parent mt-0 mb-2 ui-sortable"> <li id="253" data-id="253" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDREO LEONE FERREIRA LOBATO</td> <td class="col-2 align-middle mx-auto p-0 text-center">719.305-5</td> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-2 align-middle mx-auto p-0 text-center">1359268/2020</td> </tr> </tbody></table> </li> <li id="254" data-id="254" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-5 align-middle mx-auto p-0 text-left">AUGUSTO PEREIRA DA SILVA</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.094.345-4</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1183605/2020</td> </tr> </tbody></table> </li> </ul> </div>
  10. function calculadoraAdicaoSubtracao(numero, outroNumero, operacao) { if(operacao === "+"){ return numero + outroNumero; } if(operacao === "-"){ return numero + outroNumero; // Não passou no teste nessa lógica abaixo } else if(operacao!== "+" && operacao!== "-" && operacao=== "*"){ return "Operação inválida"; } }
  11. silvagno

    Formatar texto Java Script

    Boa tarde, É possível formatar um texto nesse código? ou seja, pular linha, colocar em negrito, centralizar e etc. Estou usando uma função que ao digitar o código 10400 ele chama o texto e gostaria de formatar esse texto. <script> var dados = [{"codigo": "10400", "Nome": ["testando texto não formatado"]}, ]; </script> $('input[name="nome"]').change(function(){ var nome = $(this).val(); var text = $('textarea[name="nome pessoal"]').val(); $('textarea[name="nome pessoal"]').val(text.replaceAll('(testando texto não formatado)',nome)); });
  12. import React, { Component } from 'react'; import { Text, Button, View, TextInput, Alert, StyleSheet, FlatList, SafeAreaView } from 'react-native'; import Styles from '../../components/Styles'; import { urlServer } from '../../config/constant'; export default class Fetch extends Component { constructor() { super(); //Aqui. Porque é necessário este objeto vazio. Já tentei de outra forma como : //this.data = {data:[]} //Porém não renderiza. Tentei apagar o primeiro objeto, mas também não renderiza. //O grande problema é que na hora de exibir ele mostra o objeto vazio this.data = [{}]; } componentDidMount() { let urlQuery = '/animal/bull/getBull/2'; fetch(urlServer+urlQuery) .then(response => response.json()) .then(response => { this.data.push(response); console.log(this.data); }); } render() { return ( <FlatList data={this.data} renderItem={({item}) => ( <View> <Text>Id: {item.idEarring}</Text> <Text>{item.name}</Text> <Text>{item.breed}</Text> <Text>{item.dateOfBirth}</Text> <Text>{item.weight}</Text> </View> )} /> ); } } Tenho este app feito em react-native que faz consulta em uma api rest. Porém não estou conseguindo obter renderização se a inclusão de um objeto vazio. Se não colocar o objeto vazio ele não renderiza nada. Já tentei apagar o objeto vazio com o shift, más ele não renderiza também, no entanto ele retorna o valor no console.
  13. Caros amigos, saudações... Gostaria de entender um processo que está me deixando com muitas dúvidas. Tenho um Sistema onde após o Usuário preencher um Cadastro de Contato/Assunto e avançar, não quero que o usuário consiga voltar para anterior. Como consigo fazer com que o sistema após avançar uma página não volta para a página anterior ? Exemplo: pág_contato ----> preencheu ----> pág_sucesso. não voltar mais para a página anterior Grato, Cesar
  14. Bom dia a todos! Gente, tenho uma dúvida! Muitos desenvolvedores utilizam o framework nodejs com express para trabalhar com API e também estão utilizando o ADONISJS. Minha duvida seria, em alguns projetos devemos criar configurações onde o usuário cliente não poderá ter acesso a visualização dos dados public de constantes de configuração, url ou banco. Como protejo essas informações? Muitas dizem que seria o arquivo .env. Como protegerei essas informações? Exemplo firabase como proteger os dados token etc. Poderiam informar tutorial, curso, vídeo algo a respeito do assunto? Agradecido!
  15. AMANDIANDO

    Botão com texto

    Oi, pessoal! Estou começando a utilizar javascript e entendendo os códigos. Quero muito utilizar um tipo de botão que é mais ou menos assim como coloquei em anexo. A primeira imagem é o botão normal, quando colocamos o mouse em cima, sobe a barra escura e aparece a descrição do link. Eu tenho um vídeo de um em funcionamento, mas não consegui o código dele. Alguém poderia me ajudar?
  16. daviassumpcao

    Verificar valor em um Json com JS

    Pessoal... há valores em um JSON sendo exibidos por um JS (imagem anexo)... preciso verificar se um valor "x" está em um determinado nó do JSON. E a partir daí exibir uma div.... marquei na imagem com um círculo rosa qual valor quero verificar porém meu script não funciona... material de estudo. É possível fazer isso acontecer? JS const jsonCat = vtxctx.categoryId; const catProd = JSON.parse(jsonCat); var divProd = document.getElementById('faq-connect'); if (catProd.categoryId == 10103) { divProd.style.display = 'block'; } else{ divProd.style.display = 'none'; } HTML para exibir uma DIV em caso positivo <div class="faq-connect" style="display:none"> <p>Sucesso!</p> </div>
  17. Caros amigos, saudações... Estou com uma dúvida de dados vindo do MySql, para preencher Tabela via AJAX. Como faço para formatar o CAMPO no formato MOEDA, ou seja: o campo vem.: 12.00 formatar para: 12,00 o código está assim: function montaTable(cep){ $.ajax({ url: "<?php echo base_url();?>site/produtos/getByCep", type: "POST", dataType:"json", data:{ cep: cep}, success:function(data){ //Remove Mensagem da Tabela $("#tborden tbody tr.message").remove(); var cols = ""; for (var i = 0; i < data.length; i++) { cols += "<tr>"; cols += "<td>" + data[i].cepRegiao + "</td>"; cols += "<td>" + data[i].frtEntreg + "</td>"; cols += "<td>" + data[i].vlrFrete + "</td>"; //<--como formatar esse campo cols += "</tr>"; } //Atualiza a Tabela $("#tborden tbody").empty(); //Adiciona os Itens a Tabela $("#tborden tbody").append(cols); } });//Fim - ajax Valor Frete } Grato, Cesar
  18. Caros amigos, saudações... Estou com uma pequena dúvida. Gostaria de mostrar a MENSAGEM de ERRO, quando a função no AJAX não encontrar o resultado. Meu código está assim: //Função para Buscar Cidade e Estado Via CEPs. $(function(){ $("#btn_consulta").click(function(){ var cep = $('#cepOrg').val(); if (cep == '') { alert('Informe o CEP antes de continuar'); document.getElementById("divCity").style.display = "none"; $('#cepOrg').focus(); return false; } $('#btn_consulta').html ('Aguarde...'); $.ajax({ url: "<?php echo base_url();?>site/produtos/consulta", type: "POST", dataType:"json", data:{ cep: cep}, success:function(data){ //retorna o resultado encontrado //Exibe os Dados Recebidos $('#cidadeUf').val(data.localidade+'/'+data.uf); //Chama a Função para Exibir a DIV oculta statusDIV(); $('#btn_consulta').html('Consultar'); } });//Fim - ajax });//Fim - function button });//Fim - 1º.function Grato, Cesar
  19. Rodrigo5468

    Site totalmente branco

    Olá, tudo bem? Espero que sim. Eu seguir esse tutorial e essa atualização para conseguir o código final. Mas o meu site fica totalmente, não exibe absolutamente nada. Eu venho aqui recorrer a vocês, pois lá não irei ter nenhum tipo de suporte. Por favor, quem for me auxiliar com esse pequeno problema, leia o tópico do tutorial. Mas o Fruition é um script para personalizar o domínio utilizando o Notion. /* CONFIGURATION STARTS HERE */ /* Step 1: enter your domain name like fruitionsite.com */ const MY_DOMAIN = 'DOMINIO'; /* * Step 2: enter your URL slug to page ID mapping * The key on the left is the slug (without the slash) * The value on the right is the Notion page ID */ const SLUG_TO_PAGE = { '': 'CODIGO_DA_PÁGINA_PÚBLICA_DO_NOTION' }; /* Step 3: enter your page title and description for SEO purposes */ const PAGE_TITLE = ''; const PAGE_DESCRIPTION = ''; /* Step 4: enter a Google Font name, you can choose from https://fonts.google.com */ const GOOGLE_FONT = ''; /* Step 5: enter any custom scripts you'd like */ const CUSTOM_SCRIPT = ``; /* CONFIGURATION ENDS HERE */ const PAGE_TO_SLUG = {}; const slugs = []; const pages = []; Object.keys(SLUG_TO_PAGE).forEach(slug => { const page = SLUG_TO_PAGE[slug]; slugs.push(slug); pages.push(page); PAGE_TO_SLUG[page] = slug; }); addEventListener("fetch", event => { event.respondWith(fetchAndApply(event.request)); }); function generateSitemap() { let sitemap = '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; slugs.forEach( (slug) => (sitemap += "<url><loc>https://" + MY_DOMAIN + "/" + slug + "</loc></url>") ); sitemap += "</urlset>"; return sitemap; } const corsHeaders = { "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "GET, HEAD, POST, PUT, OPTIONS", "Access-Control-Allow-Headers": "Content-Type" }; function handleOptions(request) { if ( request.headers.get("Origin") !== null && request.headers.get("Access-Control-Request-Method") !== null && request.headers.get("Access-Control-Request-Headers") !== null ) { // Handle CORS pre-flight request. return new Response(null, { headers: corsHeaders }); } else { // Handle standard OPTIONS request. return new Response(null, { headers: { Allow: "GET, HEAD, POST, PUT, OPTIONS" } }); } } async function fetchAndApply(request) { if (request.method === "OPTIONS") { return handleOptions(request); } let url = new URL(request.url); url.hostname = 'www.notion.so'; if (url.pathname === "/robots.txt") { return new Response("Sitemap: https://" + MY_DOMAIN + "/sitemap.xml"); } if (url.pathname === "/sitemap.xml") { let response = new Response(generateSitemap()); response.headers.set("content-type", "application/xml"); return response; } let response; if (url.pathname.startsWith("/app") && url.pathname.endsWith("js")) { response = await fetch(url.toString()); let body = await response.text(); response = new Response( body .replace(/www.notion.so/g, MY_DOMAIN) .replace(/notion.so/g, MY_DOMAIN), response ); response.headers.set("Content-Type", "application/x-javascript"); return response; } else if (url.pathname.startsWith("/api")) { // Forward API response = await fetch(url.toString(), { body: request.body, headers: { "content-type": "application/json;charset=UTF-8", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36" }, method: "POST" }); response = new Response(response.body, response); response.headers.set("Access-Control-Allow-Origin", "*"); return response; } else if (slugs.indexOf(url.pathname.slice(1)) > -1) { const pageId = SLUG_TO_PAGE[url.pathname.slice(1)]; return Response.redirect("https://" + MY_DOMAIN + "/" + pageId, 301); } else { response = await fetch(url.toString(), { body: request.body, headers: request.headers, method: request.method }); response = new Response(response.body, response); response.headers.delete("Content-Security-Policy"); response.headers.delete("X-Content-Security-Policy"); } return appendJavascript(response, SLUG_TO_PAGE); } class MetaRewriter { element(element) { if (PAGE_TITLE !== "") { if ( element.getAttribute("property") === "og:title" || element.getAttribute("name") === "twitter:title" ) { element.setAttribute("content", PAGE_TITLE); } if (element.tagName === "title") { element.setInnerContent(PAGE_TITLE); } } if (PAGE_DESCRIPTION !== "") { if ( element.getAttribute("name") === "description" || element.getAttribute("property") === "og:description" || element.getAttribute("name") === "twitter:description" ) { element.setAttribute("content", PAGE_DESCRIPTION); } } if ( element.getAttribute("property") === "og:url" || element.getAttribute("name") === "twitter:url" ) { element.setAttribute("content", MY_DOMAIN); } if (element.getAttribute("name") === "apple-itunes-app") { element.remove(); } } } class HeadRewriter { element(element) { if (GOOGLE_FONT !== "") { element.append( `<link href='https://fonts.googleapis.com/css?family=${GOOGLE_FONT.replace(' ', '+')}:Regular,Bold,Italic&display=swap' rel='stylesheet'> <style>* { font-family: "${GOOGLE_FONT}" !important; }</style>`, { html: true } ); } element.append( `<style> div.notion-topbar > div > div:nth-child(3) { display: none !important; } div.notion-topbar > div > div:nth-child(4) { display: none !important; } div.notion-topbar > div > div:nth-child(5) { display: none !important; } div.notion-topbar > div > div:nth-child(6) { display: none !important; } div.notion-topbar-mobile > div:nth-child(3) { display: none !important; } div.notion-topbar-mobile > div:nth-child(4) { display: none !important; } div.notion-topbar > div > div:nth-child(1n).toggle-mode { display: block !important; } div.notion-topbar-mobile > div:nth-child(1n).toggle-mode { display: block !important; } </style>`, { html: true } ); } } class BodyRewriter { constructor(SLUG_TO_PAGE) { this.SLUG_TO_PAGE = SLUG_TO_PAGE; } element(element) { element.append( `<script> const SLUG_TO_PAGE = ${JSON.stringify(this.SLUG_TO_PAGE)}; const PAGE_TO_SLUG = {}; const slugs = []; const pages = []; const el = document.createElement('div'); let redirected = false; Object.keys(SLUG_TO_PAGE).forEach(slug => { const page = SLUG_TO_PAGE[slug]; slugs.push(slug); pages.push(page); PAGE_TO_SLUG[page] = slug; }); function getPage() { return location.pathname.slice(-32); } function getSlug() { return location.pathname.slice(1); } function updateSlug() { const slug = PAGE_TO_SLUG[getPage()]; if (slug != null) { history.replaceState(history.state, '', '/' + slug); } } function onDark() { el.innerHTML = '<div title="Change to Light Mode" style="margin-left: auto; margin-right: 14px; min-width: 0px;"><div role="button" tabindex="0" style="user-select: none; transition: background 120ms ease-in 0s; cursor: pointer; border-radius: 44px;"><div style="display: flex; flex-shrink: 0; height: 14px; width: 26px; border-radius: 44px; padding: 2px; box-sizing: content-box; background: rgb(46, 170, 220); transition: background 200ms ease 0s, box-shadow 200ms ease 0s;"><div style="width: 14px; height: 14px; border-radius: 44px; background: white; transition: transform 200ms ease-out 0s, background 200ms ease-out 0s; transform: translateX(12px) translateY(0px);"></div></div></div></div>'; document.body.classList.add('dark'); __console.environment.ThemeStore.setState({ mode: 'dark' }); }; function onLight() { el.innerHTML = '<div title="Change to Dark Mode" style="margin-left: auto; margin-right: 14px; min-width: 0px;"><div role="button" tabindex="0" style="user-select: none; transition: background 120ms ease-in 0s; cursor: pointer; border-radius: 44px;"><div style="display: flex; flex-shrink: 0; height: 14px; width: 26px; border-radius: 44px; padding: 2px; box-sizing: content-box; background: rgba(135, 131, 120, 0.3); transition: background 200ms ease 0s, box-shadow 200ms ease 0s;"><div style="width: 14px; height: 14px; border-radius: 44px; background: white; transition: transform 200ms ease-out 0s, background 200ms ease-out 0s; transform: translateX(0px) translateY(0px);"></div></div></div></div>'; document.body.classList.remove('dark'); __console.environment.ThemeStore.setState({ mode: 'light' }); } function toggle() { if (document.body.classList.contains('dark')) { onLight(); } else { onDark(); } } function addDarkModeButton(device) { const nav = device === 'web' ? document.querySelector('.notion-topbar').firstChild : document.querySelector('.notion-topbar-mobile'); el.className = 'toggle-mode'; el.addEventListener('click', toggle); nav.appendChild(el); onLight(); } const observer = new MutationObserver(function() { if (redirected) return; const nav = document.querySelector('.notion-topbar'); const mobileNav = document.querySelector('.notion-topbar-mobile'); if (nav && nav.firstChild && nav.firstChild.firstChild || mobileNav && mobileNav.firstChild) { redirected = true; updateSlug(); addDarkModeButton(nav ? 'web' : 'mobile'); const onpopstate = window.onpopstate; window.onpopstate = function() { if (slugs.includes(getSlug())) { const page = SLUG_TO_PAGE[getSlug()]; if (page) { history.replaceState(history.state, 'bypass', '/' + page); } } onpopstate.apply(this, [].slice.call(arguments)); updateSlug(); }; } }); observer.observe(document.querySelector('#notion-app'), { childList: true, subtree: true, }); const replaceState = window.history.replaceState; window.history.replaceState = function(state) { if (arguments[1] !== 'bypass' && slugs.includes(getSlug())) return; return replaceState.apply(window.history, arguments); }; const pushState = window.history.pushState; window.history.pushState = function(state) { const dest = new URL(location.protocol + location.host + arguments[2]); const id = dest.pathname.slice(-32); if (pages.includes(id)) { arguments[2] = '/' + PAGE_TO_SLUG[id]; } return pushState.apply(window.history, arguments); }; const open = window.XMLHttpRequest.prototype.open; window.XMLHttpRequest.prototype.open = function() { arguments[1] = arguments[1].replace('${MY_DOMAIN}', 'www.notion.so'); return open.apply(this, [].slice.call(arguments)); }; </script>${CUSTOM_SCRIPT}`, { html: true } ); } } async function appendJavascript(res, SLUG_TO_PAGE) { return new HTMLRewriter() .on("title", new MetaRewriter()) .on("meta", new MetaRewriter()) .on("head", new HeadRewriter()) .on("body", new BodyRewriter(SLUG_TO_PAGE)) .transform(res); } Tem alguma coisa de errado?
  20. const focusEvent = new FocusEvent('focus', { bubbles: true }); // Trigger the input value in the search box const inputEvent = new InputEvent('input', { bubbles: true }); // Send enter const keyEvent = new KeyboardEvent('keydown', { code: 'Enter', key: 'Enter', keyCode: 13, view: window, bubbles: true }); let search = document.querySelector('#side > div._1Ra05 > div > label > div > div._1awRl.copyable-text.selectable-text'); function searchList(name = "") { try { search.textContent = name; search.dispatchEvent(focusEvent); search.dispatchEvent(inputEvent); search.dispatchEvent(keyEvent); search.removeEventListener('focus', focusEvent); search.removeEventListener('input', inputEvent); search.removeEventListener('keydown', keyEvent); } catch { console.log(error); }; } I'm using `puppeteer` and inside await page.evaluate(async ({ I have a loop that calls the function searchList on each `100 ms`, the problem is the browser memory usage is growing constantly, after 30min its over 1GB of ram. I discovered that whos causing it is the `search.dispatchEvent` lines, when i comment they, the memory does not increase. I "tried" to solve it adding: ``` search.removeEventListener('focus', focusEvent); search.removeEventListener('input', inputEvent); search.removeEventListener('keydown', keyEvent); ``` But it did not change anything in relation to the mem increasing over time, does someone have any idea what else i could try to stop or release the mem growing? Obs: Copiei meu post do stackoverflow por isso está em ingles, se alguém poder ajudar agradeço.
  21. fideles

    Relatorio com abas

    Galera, Alguém aqui já criou algum relatorio em php que seja gravado em abas ? Como ? Tenho um que é uma em unica pagina/ aba, e não faço a minima ideia de como fazer isso.
  22. AlessandroAOM

    NodeJs TypeError: is not a function

    Pessoal estou implementando uma classe em JS usando o Nodejs e estou recebendo a mensagem "TypeError: categoriasDAO.inserirCategoria is not a function" o arquivo da classe segue //Categoria DAO function categoriasDAO(connection){ this._connection = connection(); } categoriasDAO.prototype.inserirCategoria = function(categoria){ this._connection.open(function(err, mongoclient){ mongoclient.collection("categorias", function(err, collection){ collection.insert(categoria); mongoclient.close(); }); }); } module.exports = function(){ return categoriasDAO; } eu estou chamando ela no arquivo server.js apenas para testar o procedimento. 'use strict' require('dotenv').config() const express = require('express'); const path = require('path'); const app = express(); var cookieParser = require('cookie-parser'); const session = require('express-session') const bodyParser = require('body-parser'); const sessionStore = require('./config/promiseConnection'); const connection = require('./config/dbConnection'); var categoriasDAO = require('./models/categoriasDAO'); categoriasDAO = new categoriasDAO(connection); console.log(categoriasDAO) ; categoriasDAO.inserirCategoria({categ: "Nova", descricao : "Nova categoria" } ); quando ele vai executar a ultima linha acima ele gera a mensagem de erro. C:\Users\Alessandro.Oliveira\Documents\VsStudio\Nodejs\novopassportestudar\server.js:14 categoriasDAO.inserirCategoria({categ: "Nova", ^ TypeError: categoriasDAO.inserirCategoria is not a function O que estou fazendo de errado ou o que falta fazer? Obrigado!
  23. Ixtevam

    calculo de media

    Estou fazer apenas um exercicio, a ideia é pegar 3 numeros que o usuario digita, calcular a média e devolver ao usuario se foi aprovado ou reprovado. esse é o codigo que digitei mas não ta dando certo... Se alguem puder me da uma ajuda. <body> <h1>Sera?</h1> <p1>Vamo ver né </p1> qual a primeira nota? <input type="number" id="nun1"> qual a segunda nota? <input type="number" id="nun2"> qual a terceira nota? <input type="number" id="nun3"> <input type="button" value="verificar" onclick="calcular()"> <div id=nota> </div> <script> function calcular(){ var n1 = document.querySelector('input#nun1') var n2 = document.querySelector('input#nun2') var n3 = document.querySelector('input#nun3') var nota = document.querySelector('div#nota') var med = (n1 + n2 + n3)/3; nota.innerHTML = `<p> a média é ${med}` if(med>7){ nota.innerHTML += `<p>Passou de ano` } else{ nota.innerHTML += `<p> a nota ${med} é insuficiente` } } </script> </body>
  24. SampaioK12

    Node JS

    Eai Galera iniciando na área.. Alguém sabe me explicar porque a Maioria das aplicações do Node Js são feitas com o Mongo(NoSQL)?.. Todas as pesquisas que fiz referencia o NodeJS com o Mongo...
  25. Jéssica Nascimento

    Erro Rota com React

    Estou recebendo o erro abaixo: Error: Invariant failed: You should not use <Link> outside a <Router> import React, { Component } from "react"; import { Link } from 'react-router-dom'; export default class Product extends Component { render() { return ( <> <h1>Product</h1> <ul> <li><Link to='/'>Home</Link></li> </ul> </> ); } } import React from 'react'; import { BrowserRouter, Switch, Route } from 'react-router-dom'; import Main from './pages/main'; import Product from "./pages/product"; const Routes = () => ( <BrowserRouter> <Switch> <Route exact path="/" component={Main} /> <Route path="/products" component={Product} /> </Switch> </BrowserRouter> ); export default Routes; import Routes from "./routes"; // import api from './services/api'; import './styles.css'; import Main from './pages/main'; import Header from './components/Header'; function App() { return ( <div className="App"> <Header /> <Main /> <Routes /> </div> ); } export default App;
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.