You should not do this. If this is meant to be called via ajax it is not a good idea to use a SQLFORM because of the associated overhead. Instead try:
def addsample(): if request.env.request_method == 'POST': r = db.sample.validate_and_insert(**request.post_vars) return 'NOTOK' if r.errors else str(r.id) else: raise HTTP(400) even better you should return JSON objects (for example return response.json(r.errors)). On Friday, 1 August 2014 19:08:31 UTC-5, desta wrote: > > Hello everyone, > > I have this controller which is called through AJAX and submits data to > the form. The data is successfully transmitted but when I try to return the > submitted row id the controller returns nothing. > > def addsample(): > formSample = SQLFORM(db.sample, _class='form-horizontal', formstyle= > 'bootstrap3', _id='sampleForm'); > if formSample.accepts(request, hideerror=True, formname=None): > return str((formSample.vars.id)) > elif formSample.errors: > return str("NOTOK") > > I also tried returning a number (as a string) but it didn't work: > return str(15) > > However, if I return "OK" it works: > return str("OK") > > What am I missing here? > > Thank you! > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.