Request-URI Too Long Bom dia galera... estou criando um formulario com varios campos.... em um dos campos estou usando setChangeAction para fazer uma verificacao.... so que por padrao o adianti carrega os dados de todos campos... chegando em mim funcao uma array de todos os campos.... por padrao o adianti passa via ajax.... mas como e uma requisicao http esta dando erro de tamanho de url..... gostaria de...
WJ
Request-URI Too Long  
Fechado
Bom dia galera...

estou criando um formulario com varios campos....
em um dos campos estou usando setChangeAction para fazer uma verificacao....
so que por padrao o adianti carrega os dados de todos campos...

chegando em mim funcao uma array de todos os campos....
por padrao o adianti passa via ajax.... mas como e uma requisicao http esta dando erro de tamanho de url.....

gostaria de limitar os parametros que passo via setChangeAction para nao carregar todos os campos do meu formulario apenas o que preciso
alguem tem alguma sugestao?

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (6)


NR

Weliton, você chegou a analisar a requisição?
Por padrão o adianti realiza essa requisição do changeAction por POST, e por isso não deveria causar problemas.
WJ

Nataniel...
setChangeAction naoo e via get... se fosse POST seria lindo, e via get... pelo menos nas minha aplicacoes.
NR

 
  1. <?php
  2. // codigo php da TCombo
  3. $this->setProperty('changeaction', "__adianti_post_lookup('{$this->formName}', '{$string_action}', this)");
  4. // adianti.js
  5. function __adianti_post_lookup(form, action, field) {
  6. var formdata = $('#'+form).serializeArray();
  7. var uri = 'engine.php?' + action +'&static=1';
  8. formdata.push({name: 'key', value: field.value});
  9. formdata.push({name: 'ajax_lookup', value: 1});
  10. $.ajax({
  11. type: 'POST',
  12. url: uri,
  13. data: formdata,
  14. ....
  15. ?>

Esse é o código executado quando utilizo o changeAction da TCombo.
Pode ver que ele chama a função __adianti_post_lookup que usa o POST.

Se não me engano a versão anterior do framework usava GET.

Você está usando a última versão?
WJ

isso e vdd... mas eu estou usando TDBMultiSearch, nao TCombo.. ele usa a funcao __adianti_ajax_lookup... pelo que entendii. ele usa get.. mudei pra post mas nao resolveu
NR

Hm, nesse caso eu criaria um componente exatamente igual ao TDBMultiSearch, apenas substituindo o trecho:
 
  1. <?php
  2. // tdbmultisearch framework
  3. $change_action = "function() { serialform=tmultisearch_get_form_data('{$this->formName}', '{$this->name}');
  4. __adianti_ajax_lookup('$string_action&'+serialform, this); }";
  5. // sua tdbmultisearch
  6. $change_action = "function() { __adianti_post_lookup('{$this->formName}','$string_action', this); }";
  7. ?>
PD

Na próxima versão virá quase tudo por POST.