Lady01 0 Denunciar post Postado Setembro 3, 2014 Estou tentando recuperar um valor em json para uma variável php e não estou conseguindo. <html> <head> <script type="text/javascript" src="jquery.js"></script> <script> jQuery(document).ready(function(){ jQuery("button").click(function(){ jQuery.ajax({ url: "pagina.php", //URL de destino dataType: "json", //Tipo de Retorno success: function(json){ //Se ocorrer tudo certo var msg = json; //alert(msg); } }); }); }); </script> <title>json</title> </head> <body> <button>Clique aqui</button> <?php $json = file_get_contents('pagina.php'); $bla = json_decode($json, true); var_dump($bla); ?> </body> </html> pagina.php <?php $texto="Estou aqui"; echo json_encode($texto); ?> O que falta? Desde já agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
allex_carvalho 124 Denunciar post Postado Setembro 3, 2014 Rode este script com o firebug aberto, veja no console se retorna algum erro. Compartilhar este post Link para o post Compartilhar em outros sites
Lady01 0 Denunciar post Postado Setembro 3, 2014 Me retorna: XHR finished loading: GET "http://localhost/testetemplate/json/pagina.php". Compartilhar este post Link para o post Compartilhar em outros sites
allex_carvalho 124 Denunciar post Postado Setembro 3, 2014 E quando você clica sobre esta url retorna o que? Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Setembro 3, 2014 esse trecho deve ser assim: <?php $json = file_get_contents('pagina.php'); $bla = json_decode($json, true); echo $bla; ?> Acontece que você só busca por JSON no seu ajax e sua aplicação não tem nenhum output json, então adicione um com echo. Compartilhar este post Link para o post Compartilhar em outros sites
Lady01 0 Denunciar post Postado Setembro 4, 2014 E quando você clica sobre esta url retorna o que? <html> <head> <script type="text/javascript" src="jquery.js"></script> <script> jQuery(document).ready(function(){ jQuery("button").click(function(){ jQuery.ajax({ url: "pagina.php", //URL de destino dataType: "json", //Tipo de Retorno success: function(json){ //Se ocorrer tudo certo var msg = json; //alert(msg); } }); }); }); </script> <title>json</title> </head> <body> <button>Clique aqui</button> NULL </body> </html> esse trecho deve ser assim: <?php $json = file_get_contents('pagina.php'); $bla = json_decode($json, true); echo $bla; ?> Acontece que você só busca por JSON no seu ajax e sua aplicação não tem nenhum output json, então adicione um com echo. Eu alterei conforme você me orientou, mas não me retorna nada :S Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Setembro 4, 2014 Poste apenas o conteúdo do arquivo pagina.php Lembrando que o arquivo não pode conter nada além do json, qualquer informação a mais não será interpretada pela jQuery. Compartilhar este post Link para o post Compartilhar em outros sites
Lady01 0 Denunciar post Postado Setembro 4, 2014 Poste apenas o conteúdo do arquivo pagina.php Lembrando que o arquivo não pode conter nada além do json, qualquer informação a mais não será interpretada pela jQuery. Estou tentando retornar o valor dessa string para uma variável php. Pelas pesquisas que fiz, vi que é possível utilizando json. pagina.php <?php $texto="Estou aqui"; echo json_encode($texto); ?> Compartilhar este post Link para o post Compartilhar em outros sites
allex_carvalho 124 Denunciar post Postado Setembro 4, 2014 Seu script está retornando o valor corretamente, teste assim para ver a impressão do resultado: <!DOCTYPE html> <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> jQuery(document).ready(function(){ jQuery("button").click(function(){ jQuery.ajax({ url: "pagina.php", dataType: "json", success: function(json){ var msg = json; jQuery("#teste").val(msg); } }); }); }); </script> <title>json</title> </head> <body> <button>Clique aqui</button> <input type="text" id="teste" name="teste" value="" /> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Lady01 0 Denunciar post Postado Setembro 4, 2014 Testei aqui e funcionou sim. Mas não é bem o que eu queria. Eu precisava retornar esse conteudo numa variavel php para imprimi-la de acordo com o click de um menu. Estou utilizando um sistema de templates do Rael Cunha, nesse caso eu coloco a masterpage num htm e crio um arquivo php para instanciar essa página html e nela exibir o conteudo principal dentro de uma variável através da função de impressão desse sistema. Até agora eu consegui fazer isso. Mas preciso dar vida a um menu, de modo que funcione sem atualizar a página e eu pensei em exibir o conteudo principal de cada link do menu de acordo com o href através do ajax .E do php eu trago o conteudo html numa string para uma variavel php e a imprimo. É possível colocar essa idéia em prática ou existe alguma melhor? Compartilhar este post Link para o post Compartilhar em outros sites
allex_carvalho 124 Denunciar post Postado Setembro 4, 2014 Veja se este conteúdo ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
Lady01 0 Denunciar post Postado Setembro 4, 2014 Eu já vi antes de vir aqui e seria ótimo se eu não tivesse que usar isso: http://raelcunha.com/template.php Compartilhar este post Link para o post Compartilhar em outros sites
allex_carvalho 124 Denunciar post Postado Setembro 4, 2014 Não interfere, isso é só um template. Compartilhar este post Link para o post Compartilhar em outros sites
Lady01 0 Denunciar post Postado Setembro 4, 2014 Então no caso como eu faria? Teria que criar uma página diferente para cada conteudo de item de menu? Compartilhar este post Link para o post Compartilhar em outros sites
allex_carvalho 124 Denunciar post Postado Setembro 4, 2014 Sim, você monta a página inicial e separa o conteúdo que é o mesmo para toda página (topo, rodapé, lateral). Chame eles através de include. Depois faça as páginas internas. Feito isso é só chamar as páginas no menu. Compartilhar este post Link para o post Compartilhar em outros sites
armand1m 1 Denunciar post Postado Setembro 5, 2014 Tenta assim: arquivo index.php <html> <head> <meta charset="UTF-8"> <title>json</title> <script type="text/javascript" src="jquery.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ jQuery.ajax({ url: "pagina.php", //URL de destino dataType: "json", //Tipo de Retorno success: function(json){ //Se ocorrer tudo certo var msg = json; //alert(msg); } }); }); }); </script> </head> <body> <button>Clique aqui</button> <?php function getContent($filepath) { $fileContent = include $filepath; return $json; } $content = getContent("pagina.php"); $json_decode = json_decode($content); var_dump($json_decode); ?> </body> </html> pagina.php <?php $json = array("texto" => "Estou aqui."); array_push($json, "Eu também"); $json = json_encode($json); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Lady01 0 Denunciar post Postado Setembro 10, 2014 Obrigada pessoal, as duas idéias deram certo. Compartilhar este post Link para o post Compartilhar em outros sites