I guess the question is... if a variable is not a string or int,
should it be json.encoded by default?

On Feb 8, 9:45 am, Jonathan Lundell <[email protected]> wrote:
> On Feb 8, 2011, at 3:56 AM, Manuele Pesenti wrote:
>
>
>
> > I'm trying pass some variables from one one controller/function to another 
> > using the command:
>
> > URL(request.application, 'myControler', 'myFunction', 
> > vars=dict(myVar=myVar))
>
> > but when I call request.vars.myVar I get a string type object even if myVar 
> > was a dictionary. I cannot bypass this problem using the json library 
> > because it causes an early return of the function. I tried:
>
> > import gluon.contrib.simplejson as sj
>
> > myVar = request.vars.myVar
> > myVar = sj.loads(myVar)
>
> > and after that any command are not executed... any suggestion?
>
> request.vars represents the query string of the URL to be generated, which 
> must itself be a string. If you want to pass something else in the query 
> string, it's up to you to make a string of it. You could pass a json-encoded 
> myVar, for example. URL won't encode it for you, because it has no way of 
> knowing what kind of encoding the recipient expects.

Reply via email to