Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thalisson Marthinele

Retorno Vazio JSON

Recommended Posts

$(function () { // declaro o início do jquery
    $("input[name='clientevendedor']").blur(function () {//botão para disparar a ação
         var term = $("input[name='clientevendedor']").val();
// inicio uma requisição
        $.ajax({
            // url para o arquivo json.php
            url: "./classes/autocomplete/autocompletevendedor.class.php?term="+term,
            // dataType json
            dataType: "json",
            // função para de sucesso
            success: function (data) {
                //  alert();
                $("#vendedornome").val(data[0].vendedornome);
            },
            
            error: function (data) {
                    alert("vazio");
                }
        });//termina o ajax
    });//termina o jquery
});//termina o jquery

Tenho Este codigo.

Queria saber como faço pra saber se o Json retornou VAZIO.

 

tenter com Error:

porem nao funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim

 

 

 

$(function () { // declaro o início do jquery
$("input[name=clientevendedor]").blur(function () {//botão para disparar a ação
var term = $("input[name=clientevendedor]").val();
// inicio uma requisição
$.ajax({
// url para o arquivo json.php
url: "./classes/autocomplete/autocompletevendedor.class.php?term="+term,
// dataType json
dataType: "json",
// função para de sucesso
success: function (data) {
// alert();

 

if (data == null){
alert('vazio')
}else{
$("#vendedornome").val(data[0].vendedornome);

 

}

 

 

 


},

error: function (data) {
alert("vazio");
}
});//termina o ajax
});//termina o jquery
});//termina o jquery

 

 

se não der certo mande como seu json é gerado ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Thalisson, você pode resolver seu problema de outra forma, utilizando JSON.parse, exemplo:

var data = '{"vendedor":"nome","count":1}', //aqui o retorno da sua função que veio do php
    obj = JSON.parse(json); //transformo a string em Json.

if(obj.vendedor != undefined && obj.vendedor != ""){
//sucess
}
else{
//error
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

OI alguem pode me ajuda no JSON tambem... meu codigo compila poram minha grid nao retorna os dados compilados... me ajuda por favorr! to nesse tela a mais de 3 dias:

 

JQGRID:

 

//data: grid_data,
url: "@Url.Content("~/UnidadeMedidaFormato/Pesquisar?descricao=")",
datatype: "json",
ajaxGridOptions: { contentType: 'application/json; charset=utf-8'},
serializeGridData: function () {return JSON.stringify();},
height: 250,
colNames: [' ', '', 'Ativo', 'Descrição', '', ],
colModel: [
{
name: 'myac', index: '', width: 1, fixed: true, sortable: false, resize: false, hidden: true,
},
{ name: 'Mensagens', index: 'id', width: 80, sorttype: "int", editable: true, align: 'center', },
{ name: 'ATIVO', index: 'AtivoUnidade', width: 60, sorttype: "float", editable: true, edittype: 'checkbox', editoptions: { value: "True:False" }, formatter: "checkbox", formatoptions: { disabled: false }, align: "center", },
{ name: 'Descricao', index: 'descricaoUnidade', width: 400, editable: true, editoptions: { size: "20", maxlength: "30" } },
{ name: '', index: '', width: 600, sortable: false, editable: true, edittype: "textarea", editoptions: { rows: "2", cols: "10" } }
],
jsonReader : {
root: "rows",
repeatitems: true,
id: "id",
cell: "cell",
/*,
userdata: "userdata",
subgrid: {root:"rows",
repeatitems: true,
cell:"cell"
}*/
},
viewrecords: true,
rowNum: 10,
rowList: [10, 20, 30],
pager: pager_selector,
altRows: true,
loadonce: true,
toolbar: [true, "top", ],
//toppager: true,
multiselect: false,
//multikey: "ctrlKey",
multiboxonly: false,
loadComplete: function () {
var table = this;
setTimeout(function () {
styleCheckbox(table);
updateActionIcons(table);
updatePagerIcons(table);
enableTooltips(table);
}, 0);
},
editurl: "/dummy.html",//nothing is saved
caption: "Listagem de Unidade de Medida de Formato",
JSON:
$("#grid-pager_left").append(' <button id=\"botaorodapejqgrid\" class=\"ace-icon fa fa-search \" />').add('navgrid');
$('button#botaorodapejqgrid').button({ icons: { primary: 'btnPesquisar' } }).click(function (ev) {
// var gridViewFilter = $("#campoinputjqgrid").val();
// $('#grid-table').setGridParam({ datatype: 'json', url : "@Url.Content("~/UnidadeMedidaFormato/Pesquisar?descricao=")"+gridViewFilter, postData: { msgFilter: gridViewFilter } });
// $('#grid-table').trigger("reloadGrid");
// var gridViewFilter = $("#campoinputjqgrid").val();
var gridViewFilter = document.getElementById("campoinputjqgrid").value;
$.ajax({
type: "POST",
context: 'application/json; charset=utf-8',
data: JSON.stringify(gridViewFilter),
success : function (data) {
$('#grid-table').setGridParam({ datatype: 'json', url : "@Url.Content("~/UnidadeMedidaFormato/Pesquisar?descricao=")"+gridViewFilter, postData: { msgFilter: gridViewFilter } });
$('#grid-table').trigger("reloadGrid");
// $('#grid_data').html(data);
// $("#grid-table").jqGrid('filterToolbar', {stringResult:true,searchOnEnter:true,defaultSearch:"cn"});
}
});
});
$("#grid-pager_left").append(' <label id="Pesquisarjqgrid"> Pesquisar :</label>').add('navgrid');
$("#grid-pager_left").append('<input type=\"text\" id=\"campoinputjqgrid\" class=\"ui-pg-selbox\" />').add('navgrid');
$('input#campoinputjqgrid').button({ icons: { primary: 'txtPesquisar' } }).click(function (ev) {
});
$("#grid-pager_left").append('<select type=\"text\" id=\"selectjqgrid\" class=\"ui-pg-selbox\" />').add('navgrid');
$('select#selectjqgrid').button({ icons: { primary: 'cmbPesquisar' } }).click(function (ev) {
});
JSON CONTROLLER:
public JsonResult Pesquisar(String descricao)
{
var tbl = bd.tblunidadeMedidaFormato.Where(x => x.registrodeletado == false && x.descricaoUnidade.IndexOf(descricao) >= 0 || descricao == "" && x.registrodeletado == false).ToList();
var jsonData = new {
total = 1,
page = 1,
records = tbl.Count(),
rows = tbl.Select(p => new {
id = p.id.ToString(),
descricaoUnidade = p.descricaoUnidade,
AtivoUnidade = p.AtivoUnidade.ToString()
}).ToArray()
};
/*
var jsonData = new
{
total = totalPages,
page = pageIndex,
records = count,
rows = tbl.Select(p => new
{
id = p.id.ToString(),
descricaoUnidade = p.descricaoUnidade,
AtivoUnidade = p.AtivoUnidade.ToString()
}).ToArray()
};*/
return Json(jsonData, JsonRequestBehavior.AllowGet);
}
POR FAVOR GALERAAA! JA TO SEM IDEIA DO QUE FAZER PARA RESOLVER ISSO! OBRIGADO

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por ILR master
      Salve galera.
       
      Vou publicar um evento e quero colocar um Cronômetro regressivo que mostre em tempo real os dias, horas e minutos que faltam para determinada data, tipo:.
      Faltam 5 dias, 12:30:00 para inauguração.
       
      Qdo chegar no dia, quero que apenas apareça uma mensagem.
       
      Alguém pode me ajudar?
    • Por ment0r
      Boa noite pessoal, tudo bem?
       
      Estou desenvolvendo um sistema simples com exibição de formulário via modal. Uma vez cadastrado o serviço (tabela possui apenas dois campos, id e nome), eles são exibidos numa tabela com um ícone que permite a alteração do nome.

       
      Eu clico no ícone e é chamado um modal que é gerado via ajax (pois são vários registros).
       

       
      Nesse modal é mostrado o serviço e uma vez alterado, o botão Salvar chama uma função que atualiza a tabela servico, concluindo a tarefa. Fiz o mesmo processo pra cadastrar o serviço, com a diferença de que o modal está presente na mesma página, ou seja, não é chamado via ajax.
       
      Eis os códigos:
      <a href="#" onclick="modalUpdate(<?= trim($array['id']) ?>)"> <i class='bx bx-edit'></i> </a> // Trecho onde eu chamo a função modalUpdate. Função btAltServico click:
      $('#btAltServico').click(function() { var inpnome = $('#nome'); var inpid = $('#id'); if (inpnome.val() == '') { swal("Atenção", "Por favor, preencha os campos obrigatórios", "warning"); if (inpnome.val() == '') { inpnome.css("border","2px solid #f94545"); } else { inpnome.css("border",""); } alert(inpnome); alert(inpid); } else { $.ajax({ url: '../inc/ajax/altServico.php', type: 'post', dataType: 'json', // pode ser html data: { nome : inpnome.val(), id : inpid.val() }, success: function(resposta){ if (resposta == 1) { inpnome.val(""); inpnome.css("border",""); swal("Sucesso", "Serviço alterado", "success"); } else { if (resposta == 0) { swal("Erro", "Serviço não alterado. Log de erro gerado.", "error"); } else { swal("Atenção", "Serviço já cadastrado", "warning"); } } } }) } });  
      E modalUpdate.php :
       
      <?php /* * altServico.php * * Script responsável pelo update de serviços na tabela servico * * Função chamada pelo arquivo ajax.js */ //if ($_POST) { require'../conn.php'; require'../../class/class.geral.php'; $geral = new Geral(); $nome = $_POST['nome']; $id = $_POST['nome']; $ativo = 1; // Verifica se o servico já foi cadastrado $sqlVer = "select nome from algo68_db_cliente.servico where nome = '".$nome."' and id <> ".$id.""; $queryVer = mysqli_query($conn, $sqlVer); $resultVer = mysqli_num_rows($queryVer); if ($resultVer > 0) { echo json_encode(2); // servico já cadastrado } else { // Update do servico $sql = "update algo68_db_cliente.servico set nome = '".$nome."', ativo = ".$ativo." where id = ".$id; $query = mysqli_query($conn, $sql); $result = mysqli_affected_rows($conn); if ($result > 0) { echo json_encode(1); // alterou o servico } else { $geral->logErro(date('d/m/Y|H:i:s'), @$_SERVER[REQUEST_URI], 'AlterarServico', mysqli_error($conn)); echo json_encode(0); // não alterou o servico } } //} ?> O problema é que quando clico no botão Salvar, não acontece nada - se eu colocar um alert qualquer na função click, só pra saber se está chegando, também não da nada. E está da mesma forma que o cadastro de serviço, que funciona perfeitamente.

      Bom, é isso pessoal, tentei ser o mais breve e especifico possível. Qualquer ajuda é bem vinda, obrigado a todos, desde já.
    • Por gersonab
      bom dia
      tenho uma aplicação onde gero um arquivo em pdf, gostaria de recuperar a url do pdf q foi criado, pois quando este é criado ele abre automaticamente e ou ja faz o download do mesmo, preciso da url para enviar para outros.
      <button type="button" class="btn btn-outline-primary" onclick="createPDF();">Imprimir</button> <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.4.1/jspdf.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/canvas2image@1.0.5/canvas2image.min.js"></script> <script language="javascript"> (function($){ $.fn.createPdf = function(parametros) { var config = { 'fileName':'html-to-pdf' }; if (parametros){ $.extend(config, parametros); } var orig = $(this); var widthOrig = $(orig).width(); $(orig).width(900); var quotes = document.getElementById($(orig).attr('id')); html2canvas(quotes, { onrendered: function(canvas) { var pdf = new jsPDF('p', 'pt', 'letter'); for (var i = 0; i <= quotes.clientHeight/900; i++) { var srcImg = canvas; var sX = 0; var sY = 900*i; var sWidth = 900; var sHeight = 900; var dX = 0; var dY = 0; var dWidth = 900; var dHeight = 900; window.onePageCanvas = document.createElement("canvas"); onePageCanvas.setAttribute('width', 900); onePageCanvas.setAttribute('height', 900); var ctx = onePageCanvas.getContext('2d'); ctx.drawImage(srcImg,sX,sY,sWidth,sHeight,dX,dY,dWidth,dHeight); var canvasDataURL = onePageCanvas.toDataURL("image/png", 1.0); var width = onePageCanvas.width; var height = onePageCanvas.clientHeight; if (i > 0) { pdf.addPage(612, 791); } pdf.setPage(i+1); pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width*.62), (height*.62)); // Retirar o comentário caso queira ver como está sendo gerado o canvas. //document.body.appendChild(onePageCanvas); } pdf.save(config.fileName); $(orig).width(widthOrig); } }); }; })(jQuery); function createPDF() { $('#renderPDF').createPdf({ 'fileName' : '<?php echo $usercli['idocl']; ?>' }); }  
    • Por gersonab
      Boa tarde a todos.
      tenho pesquisado e ainda não encontrei uma forma de montar uma imagem online, tipo, tenho uma área de 400px por 400px , nesta gostaria de acrescentar algumas imagens que já tenho, tipo clicar e arrastar para dentro, sendo que estas imagens já se encontram online no site, seria mais ou menos assim : poderia colocar dentro desta área uma imagem do gato , do cachorro e ou outra. Não sei qual biblioteca ou forma de fazer.
      gostaria da ajuda para iniciar, desde já agradeço.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.