http://imgur.com/Rs2YVeq

Hi Massimo and thank you for the reply. A couple of questions
1) What are the associated overheads of SQLFORM?
2) I tried the code you suggested but unfortunately I have the same 
behavior.

If I use
return 'NOTOK' if r.errors else str(r.id)
I get nothing as a response, see here http://i.imgur.com/Rs2YVeq

If, on the other hand, I use
return 'NOTOK' if r.errors else str("OK")
I get the response correctly, see here http://i.imgur.com/Svk8ESQ

3) If I use the JSON return as you suggest, could I include the row.id as 
well?

Thank you

On Saturday, August 2, 2014 8:35:37 AM UTC+3, Massimo Di Pierro wrote:
>
> 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.

Reply via email to