Ir para conteúdo

Arquivado

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

halfar

passar variavel atraves da url de serialize

Recommended Posts

tem como passar uma variavel atraves da url da serialize?? tentei fazer assim, mas não deu certo:

 

Citar

 

aqui codigos de submissao formulario,

 

etc, etc...

 

var dados = jQuery( this ).serialize();
jQuery.ajax({
    

type: "POST",
url: "xinserir.php?ac="+acao;

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem uma propriedade data no $.ajax do jquery que pode ser utilizada para esta finalidade.

 

Citar

data


tipo: PlainObject ou String ou Array

 

Dados a serem enviados para o servidor. Ele é convertido em uma string de consulta, se não já uma string. É anexado ao URL para GET-solicitações. Consulte a opção processData para evitar este processamento automático. O objeto deve ser pares de chave / valor. Se valor é um Array, jQuery serializa vários valores com a mesma chave com base no valor da configuração tradicional (descrito abaixo).

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

é, pesquisei isto, mas não me pareceu o ideal. 

 

A questão é a seguinte, quando recuperamos os dados de um formulário, e executamos a pagina que processa o envio do formulário, através do código 

Citar

jQuery.ajax({
    

type: "POST",
url: "xinserir.php;

 

 

como preciso enviar uma variavel também, já que já tem a url a ser executada, o ideal seria aproveitar e passar a variavel junto, tal como havia dito, conforme abaixo:

Citar


jQuery.ajax({
    

type: "POST",
url: "xinserir.php?ac="+acao;

 

 

 

 

A necessidade disto é que o formulário tem a opcao de inserir um registro novo, ou é apenas uma alteração no registro.  Portanto, tenhos estes dois botoes no formulario, "novo registro" ou "alterar registro".

 

O script atual que mantenho, quando o usuario clica em alterar, executa uma funcao ajax que atraves do getElementByid, recupera os dados do formulario. Só que existe uma caixa de texto que contém textos longos, e pode ter tags também, textos de estilos css,  o getElementById recupera tudo certinho. Mas na hora de processar a pagina, o texto fica todo torto. Abri um topico sobre isto no link 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei bem se é desta forma que mostro abaixo o que você está sugerindo, mas fiz o seguinte:

 

Citar

var dados = jQuery( this ).serialize();

 

já que na variável dados eu tenho todos os dados dos campos que estão sendo passados,  seria algo parecido com isto:

Citar

nome=antonio&sobre_nome=marcos&idade=18 ....etc...

 

então, obviamente, basta acrescentar a minha variável no final da string, ficando assim:
 

Citar


nome=antonio&sobre_nome=marcos&idade=18&ac=novo

 

 

só para ficar clara a idéia, a variável "ac" pode conter "novo", que se refere a inserção de um novo registro, ou "alterar" que se refere a alteração do registro. Então a  informação da variável é que vai determinar um INSERT ou um UPDATE.

 

Todavia, no momento de recuperar o valor da variavel, teríamos o seguinte:


 

Citar

 

$xnome             = $_POST["nome"];

$xsobre_nome = $_POST["sobre_nome"];

$xidade             = $_POST["idade"];

 

 

mas e a variável ac, como recupera-la? fiz assim:

Citar

$xac = $_POST["ac"];

 

mas isto sempre retorna nulos.

 

Deduzi então, que seria necessário a existencia de um input com este nome, porque nome, sobre_nome e idade, são nomes das caixas de texto onde o usuário informa o dado. Mas não existe uma caixa chamada "ac". Então creio que por este motivo resulta sempre em nulos.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acredito que você deveria controlar esse fluxo no server-side de forma melhor e separada, por exemplo uma url registrar que só registra e espera uma requisição post e nenhum outro verbo htpp, e assim por diante, sacou a idéia? Já pensou o cara troca o valor na url que problemão que tu vai ter?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem, a url não é visivel,  ajax nao mostra url, 

 

porém, já visualizei outro método, vou tentar diferente.

 

Valeu.

Abraços;

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Alessandro Bodão
      Boa noite irmandade!
       
      Ando reparando de alguns anos pra cá, uma forte tendência em que sites bem dinâmicos e interativos transitam de uma página pra outra sem que a outra página se quer passe por um processo de carregamento, você clica, simplesmente acontece algumas transições nos elementos da página, e de repente, você está em outra página, outro url. De forma suave, nada é carregado, apenas algo acontece e você já está em outra página.
       
      Gostaria de saber como isso é feito pra aplicar em um site que estou desenvolvendo, se é algum framework, alguma ferramenta além do JavaScript...
       
      Trouxe um belo exemplo: https://www.traffic.productions/
       
      Se você chegou até aqui, agradeço desde já!
    • Por Fernando Rafael
      Bom dia, estou baixando arquivos que estão em uma hospedagem própria para serem acessados por um aplicativo que estou desenvolvendo (consigo fazer normalmente utilizando os comandos citado mais a baixo), porém os arquivos ficam salvos na pasta padrão de DOWNLOADS do Android, minha intenção não é ficar acumulando estes arquivos no aparelho, ou esperar que o usuário exclua manualmente, gostaria em salva-los em uma pasta interna do aplicativo para que seja possível excluir automaticamente pelo próprio aplicativo, já tentei como alternativa excluir esses arquivos da pasta DOWNLOADS, mas não consegui...
       
      Segue o código que estou usando para baixar os arquivos, queria adaptar para baixar direto na pasta interna do aplicativo, ou como alternativa caso isso não seja possível, conseguir excluir esses arquivos da pasta DOWNLOADS do Android...
       
      String url = "https://www.site.com/arquivo.pdf"; //Arquivo que vou baixar DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setDescription("Alguma descrição"); request.setTitle("Algum titulo"); //A notificação de conslusão só esta disponível a partir da API 11 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { request.allowScanningByMediaScanner(); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); } //Salvando o arquivo no diretório de Downloads request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "arquivo.pdf"); DownloadManager manager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); manager.enqueue(request);  
    • Por AlexandreHenrique
      Olá pessoal. preciso de uma ajuda com o meu projeto de upload.
      O projeto de upload roda no IIS + Php;
      Tenho um script que ta enviando  o arquivo para o diretório correto.
      O problema é que ao tentar acessar esse arquivo via URL, o anexo não abre  e exibe a mensagem abaixo.
       

      Notei que o arquivo ao cair no DIR, ele entra sem permissões (vi em propriedades), se eu editar o mesmo alterando as permissões, ele carrega pela url do meu site.
      Quero que o arquivo enviado pelo script caia no DIR correta com as devidas permissões pra eu poder ler no navegador via URL;
       
      Já tentei resolver de toda forma mas nao tive sucesso;.
      No Apache isso é mais simples, mas no IIS ta complicado;
       
       
       
      Alguem pode me dá uma dica?
    • Por lezão
      Boa tarde, galera!
      Tudo bem com vcs?
       
      Estou precisando de uma limitador de palavras.
      Tenho um texto de 600 palavras e gostaria de que na pagina principal aparece se, apenas 30 palavras do texto.
      Achei esse codigo na innternet, mas ele não limita palavras, mas sim ele corta as palavras ficando assim:  "Tenho um texto de 600 palav..."
      ?php echo substr("$texto;", 0, 200); ? com uma variavel que limita as palavras ficaria assim: "Tenho um texto de 600 palavras". exibiria essas 6 palavras.
    • Por Luiz Henrique
      Olá pessoas,
       
      Tenho uma classe e dentro dela várias chamadas para métodos de acordo com a necessidade em outra classe (para obter dados DB), como são muitas e vou duplicar os arquivos, para ganhar tempo queria colocar o nome da classe em uma variável porém não funciona.
       
      use Class1; class Class2 { public $className = 'Class1'; ... $dados = $this->className::function(); // não funciona } Era para gerar isso:
      $dados = Class1::function();
      Se eu der um echo $this->$className, ele me retorno o nome da Class1 porém para executar um método dentro da Class1 não vai, diz que a classe Class1 não existe!
      Tem alguma forma de funcionar isso?
       
      Obrigado.
×

Informação importante

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