Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Enviando valor por GET e por POST ao mesmo tempo jQuery

21-10-2016 14:46

Nesse post um exemplo bem simples de como usar o $.ajax para enviar ao mesmo tempo um ou mais valores via POST e via GET na mesma requisição jQuery.

<script src="jquery.js"></script> <script> $(function() { $.ajax({ type: "POST", url: "teste2.php?valor1=1234", dataType: "html", data: "valor1=abcd", // enviado com sucesso success: function(response){ $("#retorno").html(response); }, // quando houver erro error: function(){ alert("Ocorreu um erro durante a requisição"); } }); }); </script> <div id="retorno"></div>

teste2.php

<?php echo $_POST['valor1']; echo $_GET['valor1']; ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1273
Sexo: Masculino

Re: Enviando valor por GET e por POST ao mesmo tempo jQuery

22-10-2016 18:55

Nesse caso, os valores são enviados para teste2.php, e retornam para teste1.php, sendo exibidos neste arquivo através da div em virtude do que está neste código success: function(response){("#retorno").html(response);},, creio.

Como se faz para se enviar os valores para teste2.php, sendo exibidos nesse arquivo, sem retornarem para teste1.php?

No tópico deste link viewtopic.php?f=1&t=9998&p=33889#p33889 se conseguiu isso enviando os dados para outro arquivo numa janela modal. Mas a codificação possui referências à janela modal.

Eu peguei esse código, e inseri um botão, cujo código não sei se está no lugar certo, pois não está sendo acionado.

Além do fato de o código do botão poder não estar no lugar certo, creio que esse script não funciona, também, por esta linha $("#janela").html(dados); fazer referência ao css da janela.

Ficou assim:

Arquivo teste1.php:

<?php header("Content-Type: text/html; charset=ISO-8859-1",true); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title></title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"> </script> <script> $(document).ready(function(){ $('#btn1').click(function(){ $(function() { $.ajax({ url:'teste2.php?valorGET=1234', type:'POST', data:'valorPOST=abcd', success: function(dados) { $("#janela").html(dados); } }); }); }); }); </script> </head> <body> <button id="btn1"> teste </button> </body> </html>

Arquivo teste2.php

<?php header("Content-Type: text/html; charset=ISO-8859-1",true); ?> <?php echo $_GET['valorGET']; echo "&nbsp;-&nbsp;"; echo "variável GET valorGET"; echo "<br>"; echo $_POST['valorPOST']; echo "&nbsp;-&nbsp;"; echo "variável POST valorPOST"; echo "<br>"; ?>

O que falta para esse código funcionar?

Grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Enviando valor por GET e por POST ao mesmo tempo jQuery

22-10-2016 20:00

Usando métodos jQuery como $.ajax ou load() basicamente sempre vão puxar o conteúdo de outro arquivo e jogar em um objeto da página. Isso sem atualizar a página.

Agora se não há problema em atualizar o documento, ou seja, está no documento teste1.php e enviar para teste2.php mudando a URL no navegador é simples.

No seu código unicamente está funcionando o objeto onde os dados serão retornados, no caso:

<div id="janela"></div>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1273
Sexo: Masculino

Re: Enviando valor por GET e por POST ao mesmo tempo jQuery

22-10-2016 20:24

Sim. Pelo que li, o fato de o AJAX não atualizar a página é o que tornaria a requisição assíncrona, me parece.

O que pretendo é o que você disse: enviar para teste2.php, mudando a url no navegador. Por isso, excluí a div em teste1.php.

É possível aproveitar a adaptação que tentei fazer para se conseguir isso? Você pode indicar como pode ser feito?
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Enviando valor por GET e por POST ao mesmo tempo jQuery

22-10-2016 21:29

Usando um formulário se você usar o método POST no form action e enviar um valor via link você consegue usar os 2 métodos de envio ao mesmo tempo.

<form action="teste.php?valor1=1" method="POST"> <input type="text" name="valor2" value=""> <input type="submit"> </form> <?php echo isset($_GET['valor1']) ? $_GET['valor1'] : ""; echo isset($_POST['valor2']) ? $_POST['valor2'] : ""; ?>

Também é possível criar um evento jquery para enviar o formulário ao clicar em um botão.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1273
Sexo: Masculino

Re: Enviando valor por GET e por POST ao mesmo tempo jQuery

22-10-2016 23:12

Deu certo. Mas coloquei type="hidden" e informei o valor no que vai por post. Agora, preciso personalizar o input type="submit" com CSS e alterar o texto, para que exiba "detalhes". É possível?

O que eu fiz está certo? Ao menos, está enviando.

Arquivo teste1.php:

<?php header("Content-Type: text/html; charset=ISO-8859-1",true); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title></title> </head> <body> <form action="teste2.php?valor1=1" method="POST"> <input type="hidden" name="valor2" value="2"> <input type="submit"> </form> <?php echo isset($_GET['valor1']) ? $_GET['valor1'] : ""; echo isset($_POST['valor2']) ? $_POST['valor2'] : ""; ?> </body> </html>

Arquivo teste2.php:

<?php header("Content-Type: text/html; charset=ISO-8859-1",true); ?> <?php echo $_GET['valor1']; echo "&nbsp;-&nbsp;"; echo "variável GET valor1"; echo "<br>"; echo $_POST['valor2']; echo "&nbsp;-&nbsp;"; echo "variável POST valor2"; echo "<br>"; ?>

0
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1273
Sexo: Masculino

Re: Enviando valor por GET e por POST ao mesmo tempo jQuery

22-10-2016 23:23

Achei um CSS basiquinho para o input type=submit, mas dá para fazer.

Coloquei um texto no input type=submit:

<input type="submit" value="TEXTO">

E o CSS:

<style> input[type=submit] { padding:5px 15px; background:#ccc; border:0 none; cursor:pointer; -webkit-border-radius: 5px; border-radius: 5px; } </style>

0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Enviando valor por GET e por POST ao mesmo tempo jQuery

23-10-2016 18:15

Sim, pode ser feito sem problema.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1273
Sexo: Masculino

Re: Enviando valor por GET e por POST ao mesmo tempo jQuery

24-10-2016 16:22

Beleza. Obrigado pela força.
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado