[Plone-IT] Ajax, Script e Zpt

Marco Mazzulli nerobrujah a gmail.com
Mar 13 Apr 2010 13:48:39 UTC


...
Usando jquery 1.3.2 FUNZIONA tutto. Il dubbio mi è venuto leggendo questo:

*Important:* As of jQuery 1.4, if the JSON file contains a syntax error, the
request will usually fail silently. Avoid frequent hand-editing of JSON data
for this reason. JSON is a data-interchange format with syntax rules that
are stricter than those of JavaScript's object literal notation. For
example, all strings represented in JSON, whether they are properties or
values, must be enclosed in double-quotes. For details on the JSON format,
see http://json.org/.

Assurdo. Evidentemente quello che il pythonscript gli ritorna non è JSON
cosi puro come credevo, nonostante firebug riesca a elaborarlo come tale...A
qualcuno viene in mente un workaround per questa cosa? O magari avreste
scritto il return del mio  script diversamente?






Il giorno 13 aprile 2010 15.38, Marco Mazzulli <nerobrujah a gmail.com> ha
scritto:

> Sono alle corde, sto per gettare la spugna.
> Ho diviso la funzione come mi hai consigliato: lanciandola da firebug
> funziona perfettamente (le passo a mano lo stesso json che le arriverebbe
> dallo script). Ho provato anche ad esplicitare la funzione digetJSON (una
> shortcut per $ajax ecc ecc)...e niente.
>
> Tutto funziona, la sintassi è a posto...Solo che non parte il callback del
> getJSON. Non ho idea. Se qualche anima pia avesse voglia di provarlo, lascio
> il codice della mia pagina e dello script, statici e senza bisogno di db, da
> copiaincollare in zope cosi come sono (stesso livello, pagina, script e
> libreria jquery 1.4.2).
> *
> PYTHONSCRIPT:*
>
> request = container.REQUEST
> RESPONSE = request.response
>
> return [{"optionValue":"03","optionDisplay":"roma"}]
>
> *ZPT:*
> <html>
>   <head>
>
> <script type="text/javascript" src="js/jquery.js"></script>
>
>
> <script type="text/javascript" charset="utf-8">
>
> function citySel(j){
>
>       alert('sono nel callback');
>       var options = '';
>       for (var i = 0; i < j.length; i++) {
>         options += '<option value=\"' + j[i].optionValue + '\">' +
> j[i].optionDisplay + '<\/option>';
>       }
>       $("select#prov").html(options);
> }
>
> $(function(){
>   $("select#reg").change(
>     function(){
>                 alert ('inizio');
>                 alert($(this).val());
>                 $.getJSON("script/getProvinceRegione",{id: $(this).val()},
> citySel(j));}
> )})
> </script>
>
>   </head>
>   <body>
>
> <form>
>
>
> Regione: <select id="reg" tal:define="regioni
> python:context.script.getRegioni()">
> <tal:block repeat="tuplaReg regioni">
> <option tal:attributes="value python: tuplaReg[0]" tal:content="python:
> tuplaReg[1]"/>
> </tal:block>
> </select>
>
> Provincia: <select id="prov">
> </select>
>
> Comune: <select id="com">
> </select>
>
> </form>
> </body>
> </html>
>
>
>
>
> Il giorno 12 aprile 2010 19.02, Riccardo Lemmi <riccardo a reflab.it> ha
> scritto:
>
>> On Monday 12 April 2010, Marco Mazzulli wrote:
>> > Le parentesi in effetti erano sbagliate, errore mio, una delle tante
>> prove.
>> > Ho usato la tab net di firebug, come mi hai consigliato (grazie!), e in
>> > effetti ho scoperto che la chiamata al pythonscript va a buon fine e che
>> il
>> > file ritornato è un json accettabile (firebug lo decifra correttamente,
>> > cercando nella sottotab JSON della get in questione).
>> >
>> > A questo punto non capisco perchè non entri nel corpo della funzione
>> > successiva, potrei capire tutto, ma almeno l'alert "sono nel callback"
>> > dovrebbe davvero partire!
>> >...
>>
>> Il codice sembra a posto ma siccome non è molto leggibile se vuoi essere
>> sicuro di non aver messo un errore di sintassi nella funziona prova ad
>> estrarla, a quel punto con firebug puoi anche lanciarla dalla console e
>> vedere se lancia qualche errore.
>> --
>> Riccardo Lemmi                           Email:   riccardo a reflab.it
>> Reflab S.r.l. - Plone Design, Development and Consulting
>> Phone: +39 349 4620820                         http://www.reflab.it
>>
>> _______________________________________________
>> Plone-IT mailing list
>> Plone-IT a lists.plone.org
>> http://lists.plone.org/mailman/listinfo/plone-it
>> http://www.nabble.com/Plone---Italy-f21728.html
>>
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.plone.org/pipermail/plone-plone-it/attachments/20100413/673480c6/attachment.html>


Maggiori informazioni sulla lista Plone-IT