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 [email protected].
For more options, visit https://groups.google.com/d/optout.