Para fechar esse post, vou colocar o código que fiz para resolver o problema de retorno do script python para o javascript. Caso alguém futuramente precise.
# ZPT + Ajax. <script language="Javascript" type="text/javascript"> function Processar(){ codigocpr = $F('codigo_cpr'); if (codigocpr == ""){ alert ('Por favor, consulte'); }else{ url = 'consulta_fazendas_vinculadas_cpr_py'; pars = 'codigo='+codigocpr myAjax = new Ajax.Request(url, {method:'post', parameters:pars, onComplete: mostraResposta }); } } function mostraResposta(resposta){ tabela = $('tabela_fazendas'); LimpaTabela(tabela); result = eval(resposta.responseText); for (x=0;x<result.length;x++){ var linha = tabela.insertRow(1); var coluna = linha.insertCell(-1); coluna.innerHTML = result[x].nomefazenda; var coluna = linha.insertCell(-1); coluna.innerHTML = result[x].inscricao; var coluna = linha.insertCell(-1); coluna.innerHTML = result[x].cidade; var coluna = linha.insertCell(-1); coluna.innerHTML = result[x].estado; } } function LimpaTabela(tabela){ //Removendo as linhas da tabela totLinhas = tabela.rows.length; for(i=1;i<totLinhas;i++){ //Seleciona a segunda linha para ser excluida // para que não seja removido o cabeçalho tabela.deleteRow(1); } } </script> <span>[<a href="javascript:Processar();">Processar</a>]</span> <table id="tabela_fazendas" style="margin-top:1em;" border="1"> <tr> <th>Nome Fazenda</th> <th>Inscrição</th> <th>Cidade</th> <th>U.F</th> </tr> </table> # Script Python # parametro codigo consulta = context.zsql_fazenda(codigo=codigo).dictionaries() return consulta # ZSql Method. # parameter codigo SELECT CAST(faz_id AS INTEGER), CAST(faz_numero AS INTEGER), faz_nome AS "nomefazenda", faz_inscricao AS "inscricao", faz_cidade AS "cidade", faz_uf AS "estado" WHERE codigo_cpr = <dtml-sqlvar codigo type="int"> // Essa conversão com o CAST foi o grande "tcharannnn" do negócio. []'s Fernando Paiva Fernando Paiva escreveu: > > Zénrique > > Consegui fazer funcionar, o problema era com o return do script python > que estava colocando L(long) na frente de campos inteiros. tipo 4L > etc...Alterei isso no ZSQL com CAST e ficou blzinha. > Para preencher a tabela naum vou conseguir apenas pelo id da tag, então > vou ter que preencher a cada passagem pelo for. Aff, mas suadeira a > vista :D > > Obrigado Zénrique e Pythonwarrior pela ajuda. > > []'s > Fernando Paiva > > José Henrique escreveu: > > > > Nenhum dos dois, "fiz na unha" mesmo :-). Veja o exemplo abaixo: > > > > <script language="javascript" type="text/javascript"> > > > > var request = false; > > try { > > request = new XMLHttpRequest(); > > } catch (trymicrosoft) { > > try { > > request = new ActiveXObject("Msxml2.XMLHTTP"); > > } catch (othermicrosoft) { > > try { > > request = new ActiveXObject("Microsoft.XMLHTTP"); > > } catch (failed) { > > request = false; > > } > > } > > } > > > > if (!request) > > alert("Error initializing XMLHttpRequest!"); > > > > function getCustomerInfo(codigo) { > > var url = "script_py?cod_atendimento=" + escape(codigo); > > request.open("GET", url, true); > > request.onreadystatechange = updatePage; > > request.send(null); > > } > > > > function updatePage() { > > if (request.readyState == 4) { > > if (request.status == 200) { > > var response = request.responseText; > > alert(response); > > result = eval(response); > > for (i in result) { > > alert(result[i].des_atendimento); > > } > > } else > > alert("status is " + request.status); > > } > > } > > > > </script> > > > > Zénrique. > > > > Em 18/12/06, Fernando Paiva<[EMAIL PROTECTED] > <mailto:fernandopaiva%40bmonline.com.br> > > <mailto:fernandopaiva%40bmonline.com.br>> escreveu: > > > Opa Zénrique. > > > > > > Eu ja fiz isso várias vezes, e sem sucesso. Neste exemplo que você > > > sugeriu, o alert nem é exibido. > > > Eu estou usando prototype.js, nesse exemplo vc se baseia em > prototype ou > > > mochikit ? > > > > > > Obrigado. > > > > > > []'s > > > Fernando Paiva > > > > > > > > > José Henrique escreveu: > > > > > > > > Tente essa variação: > > > > > > > > function mostraResposta(resposta) { > > > > result = eval(resposta.responseText); > > > > for (i in result) > > > > alert(result[i].nomefazenda); > > > > } > > > > > > > > Zénrique. > > > > > > > > Em 15/12/06, pythondeveloper<[EMAIL PROTECTED] > <mailto:fernandopaiva%40bmonline.com.br> > > <mailto:fernandopaiva%40bmonline.com.br> > > > > <mailto:fernandopaiva%40bmonline.com.br>> escreveu: > > > > > Zé, as keys do dic{} saum lower e os values saum upper tipo: > > > > > {'nomefazenda':'MYNHA FAZENDA'}. > > > > > > > > > > Ja tentei dessas maneiras. > > > > > function mostraResposta(resposta){ > > > > > result = eval(resposta.responseText); > > > > > alert (result); // nao exibe resultado, nem chega a exibir o > alert. > > > > > } > > > > > > > > > > function mostraResposta(resposta){ > > > > > result = resposta.responseText; > > > > > alert (result); // exibe todas as keys com seus values. > > > > > } > > > > > > > > > > function mostraResposta(resposta){ > > > > > result = eval(resposta); > > > > > alert (result.responseText); // exibe todas as keys com seus > values. > > > > > } > > > > > > > > > > function mostraResposta(resposta){ > > > > > result = eval(resposta); > > > > > resultados = result.responseText; > > > > > alert (resultados.nomefazenda); // exibe a mensagem "undefined" > > > > > alert (resultados.cidade); // exibe a mensagem "undefined" > > > > > } > > > > > > > > > > function mostraResposta(resposta){ > > > > > result = resposta.responseText.nomefazenda; > > > > > alert (result); // exibe a mensagem "undefined". > > > > > } > > > > > > > > > > Alguma sugestão ? > > > > > > > > > > []'s > > > > > Fernando Paiva > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > []'s > > > > > Fernando Paiva > > > > > > > > > > > > > > > > > > > > > > > > > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br > <mailto:zope-pt%40yahoogrupos.com.br> > > <mailto:zope-pt%40yahoogrupos.com.br> > > > Para desistir envie uma mensagem em branco para: > > [EMAIL PROTECTED] > <mailto:zope-pt-unsubscribe%40yahoogrupos.com.br> > > <mailto:zope-pt-unsubscribe%40yahoogrupos.com.br> > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > >