> > @jonathan: Yes, a more detailed error messages than "no json" would be
> > awesome.
>
> generic.json now says:
>
> {{
> ###
> # response._vars contains the dictionary returned by the controller action
> ###
> try:
> from gluon.serializers import json
> response.write(json(response._vars),escape=False)
> response.headers['Content-Type']='text/json'
> except:
> raise HTTP(405,'no json')
>
> }}
>
> I suggest this instead:
>
> {{
> ###
> # response._vars contains the dictionary returned by the controller action
> ###
> try:
> from gluon.serializers import json
> response.write(json(response._vars), escape=False)
> response.headers['Content-Type'] = 'application/json'
> except (TypeError, ValueError):
> raise HTTP(405, 'JSON serialization error')
> except ImportError:
> raise HTTP(405, 'JSON not available')
> except:
> raise HTTP(405, 'JSON error')
>
> }}
I patched that in, and changed the last one to say
except Exception, E:
raise HTTP(405, 'JSON error: ' + str(E))
and got in my case
JSON error: 'id'
-Brian