Jump to content

Lioo_

Members
  • Content count

    6
  • Joined

  • Last visited

Community Reputation

0 Comum

About Lioo_

  1. Olá, gostaria de saber se é possível associar um valor recebido por $.ajax a uma variável global, pois a partir desses valores, preciso somá-los e mostrá-los em outra tabela. Já tentei porém sempre interpreta com variavel local, perdendo seu valor no final da função. Segue código js: function buildTableNI(){ $('#tb_ni').empty(); $.ajax({ type:'GET', crossDomain:true, url:'http://www.minhaurl.com.br/api/meuphp.php?callbackpni=?', dataType:'jsonp', data: {currency: $('#cur').val()}, beforeSend: function(){ $('#loading').css("display","block"); $('table[name=tb_ni]').css("opacity","0.01"); } }).done(function(data){ console.log(data); $('#loading').css("display","none"); $('table[name=tb_ni]').css("opacity","1"); $('#tb_ni').append('<tr> <td class="column_st">'+'Active'+ '</td><td class="column_qtd">'+data.ni_qtdA+ '</td><td id="" class="a">'+data.ni_active+ '</td><td>'+data.ni_p_active+'</td></tr>'); // quero pegar esses valores (data.ni_active, //data.ni_p_active,etc e colocar seu valor em uma varivel global.) a = $('#ac3').append(parseInt(data.ni_qtdA)); $('#tb_ni').append('<tr> <td class="column_st">'+'Inactive'+ '</td><td class="column_qtd">'+data.ni_qtdI+ '</td><td id="a3" class="i">'+data.ni_inactive+ '</td><td>'+data.ni_p_inactive+'</td></tr>'); $('#tb_ni').append('<tr> <td class="column_st">'+'Won'+ '</td><td class="column_qtd">'+data.ni_qtdW+ '</td><td class="w">'+data.ni_won+ '</td><td>'+data.ni_p_won+'</td></tr>'); $('#tb_ni').append('<tr> <td class="column_st">'+'Budget'+ '</td><td class="column_qtd">'+data.ni_qtdB+ '</td><td class="b">'+data.ni_budget+ '</td><td>'+data.ni_p_budget+'</td></tr>'); $('#tb_ni').append('<tr> <td class="column_st">'+'Coming'+ '</td><td class="column_qtd">'+data.ni_qtdC+ '</td><td class="b">'+data.ni_coming+ '</td><td>'+data.ni_p_coming+'</td></tr>'); $('#tb_ni').append('<tr> <td class="column_st">'+'In Process'+ '</td><td class="column_qtd">'+data.ni_qtdP+ '</td><td class="p">'+data.ni_process+ '</td><td>'+data.ni_p_process+'</td></tr>'); $('#tb_ni').append('<tr> <td class="column_st">'+'N/I'+ '</td><td class="column_qtd">'+data.ni_qtdNI+ '</td><td class="ni">'+data.ni_ni+ '</td><td>'+data.ni_p_ni+'</td></tr>'); $('#tb_ni').append('<tr class="head_table"> <td>'+'Total'+ '</td><td class="column_qtd">'+data.ni_qtd_total+ '</td><td class="total">'+data.ni_total+ '</td><td>'+data.ni_p_total+'</td></tr>'); $('#tb_ni').append('<tr> <td class="column_st">'+'Replaced'+ '</td><td class="column_qtd">'+data.ni_qtdR+ '</td><td class="r">'+data.ni_replaced+ '</td><td>'+' - '+'</td></tr>'); }) .fail(function(data, textStatus, errorThrown){ alert("Erro na operação."); console.log(data); console.log(textStatus); console.log(errorThrown); }); return false; } Resumindo, preciso pegar esses valores(data) recebidos no .done e atribuí-los para variáveis globais, pois tenho mais funções que precisam desses valores para serem somados. Já tentei usar window.variavel e não deu certo também
  2. Lioo_

    Tratamento de cada linha do resultado

    Opa, já consegui resolver, tratando a consulta SQL no php usando FOREACH e IF! Valeu
  3. Olá pessoal! É o seguinte... Preciso executar uma consulta onde dependendo do tipo de moeda, faça a conversão do valor para mim. O problema é que no filtro que tenho que usar não posso separar o resultado por tipo de moedas, sendo assim, tenho que conferir cada resultado e converter em tempo de execução. Depois disso, devo mostrar o total É mais ou menos assim: SELECT SUM(valor) FROM Produtos WHERE status ="ativo" AND estado = "SP" Porém,os resultados desse valor podem ser de 3 moedas diferentes(por exemplo a,b,c), cada uma com a sua cotação diária, sendo que se for por exemplo, da moeda A, não altera o valor, mas se for das moedas b ou c, o valor tem que ser convertido para o valor de cotação do mesmo dia da emissao do produto. Tendo isso em vista, precisaria de algo mais ou menos assim: FAÇA pesquisa SE moeda_do_valor_da_linha_retornada = a // A nao precisa de conversão ENTAO total:= valor_da linha retornada SE moeda_do_valor_da_linha_retornada = b // B precisa de conversão ENTAO total:=(valor_da linha_retornada*cotação_do_dia_da_emissao_do_produto) SE moeda_do_valor_da_linha_retornada = c // C precisa de conversão ENTAO total:=(valor_da linha_retornada*cotação_do_dia_da_emissao_do_produto) Sei que parece confuso, mas é mais ou menos isso. Se puderem me auxiliar, agradeço.
  4. Opa, consegui resolver colocando no arquivo php header('Content-Type:application/json;charset=UTF-8'); e mudando o dataType para text: dataType:'text', Obrigado!
  5. Olá, obrigado pela resposta. Mudei para dataType com T maiúsculo e dessa maneira ele não faz a requisição e cai direto no .fail, inclusive com o T maiúsculo, nem chegam os dados do arquivo php no console... Sobre o console.log(data), eu já tenho ele no .done. EDIT: Quando uso datatype minúsculo, consigo pegar o json no console, quando coloco dataType maiúsculo, não consigo pegar, e dá o seguinte erro: Unexpected token A in json at position 0.
  6. Olá Pessoal! Estou com um problema quando vou receber a resposta do servidor local. Tenho um arquivo login.php que faz uma consulta no banco e retorna o resultado em formato json, juntamente com seu 'status' que pode ser "s" ou "n". Eu pego esse retorno em um arquivo javascript(app.js) usando $.ajax. A requisição até é concluída com sucesso, entrando no .done, porém, quando preciso checar o 'status' dentro de um if, e fazer a ação, ela me retorna como undefined! Chequei no console do chrome usando console.log, e nele mostra o valor certo de 'status' , porém na hora de passar no if não dá certo. Podem me dar uma ajuda? Segue o código: login.php <?php header('Access-Control-Allow-Origin: *'); require("config.php"); $usuario = strip_tags($_POST['usuario']); $senha = strip_tags($_POST['senha']); $sql = $pdo->prepare("SELECT * FROM login WHERE usuario = :usuario AND senha = :senha"); $sql->bindValue(":usuario",$usuario,PDO::PARAM_STR); $sql->bindValue(":senha",$senha,PDO::PARAM_STR); $sql->execute(); $ln = $sql->fetchAll(); $n = $sql->rowCount(); if ($sql) { if ($n>0){ $retorno['status'] = "s"; $retorno['dados'] = $ln; echo (json_encode($retorno)); }else{ $retorno['status'] = "n"; echo (json_encode($retorno)); } } ?> app.js $(function () { $('form[name=form-login]').submit( function(){ $.ajax({ type: 'POST', url: 'http://localhost/arquivos/login.php', datatype:'json', data: $(this).serialize() }).done(function(data){ console.log(data); if (data.status == "s"){ alert('OK!'); } else if (data.status == "n"){ alert('Não OK'); } else { alert(data.status); } }) .fail(function(data){ alert('Erro na requisição!'); }); return false; }); });
×

Important Information

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