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.

Reply via email to