hey all and anthony,
i've tried a bunch of things, including your suggestion above. here are my
results and this is using web2py 2.16.1. on the client side, under the
view's header, i have:
a = getArray();
//displays the grabbed array
//jQuery('div#snapshot_matrix').html(snapshot_table+'<br/><pre>'+JSON.stringify(a,
null, '\t')+'</pre>').css('display', 'block');
jQuery.post({url:"{{=URL(c='main321911',
f='ajaxAnalysesSummary1')}}", data:{ 'json1':JSON.stringify([1, 2, 3]) }
}).done(function (t) {
//jQuery('div#snapshot_matrix').html('<pre>server_return:\n'+JSON.stringify(t,
null, '\t')+'</pre>').css('display', 'block');
jQuery('div#snapshot_matrix').html('<pre>server_return:\n'+t+'</pre>').css('display',
'block');
where a or getArray() just reads the values of various inputs and slams
them into a javascript/json object with the declaration "var a = { };"
which to me is similar to a python dict. the jQuery.post is the method i
used to transfer the array to the server and under the post function i've
tried various permutations on data with and without the option
..."contentType: 'application/json', "... present or not. the various
permutation of data were:
data: a,
data: JSON.stringify(a),
data: { json1:[1, 2, 3] },
data: { 'json1':[1, 2, 3] },
data: { json1:JSON.stringify([1, 2, 3]) },
data: { 'json1':JSON.stringify([1, 2, 3]) },
and many others. on the server side, i just have:
def ajaxAnalysesSummary1():
#from gluon.contrib import simplejson
dct = { 'ajaxAnalysesSummary1':True }
get = request.vars
dct['len1'] = len(get)
dct['type1'] = type(get)
dct['get1'] = get
get = request.post_vars
dct['len2'] = len(get)
dct['type2'] = type(get)
dct['get2'] = get
get = loads(request.vars.json1)
dct['len3'] = len(get)
dct['type3'] = type(get)
dct['get3'] = get
get = request.post_vars.json1
dct['len4'] = len(get)
dct['type4'] = type(get)
dct['get4'] = get
return DIV(dct)
where the client will display the dct of type dict passed to DIV.
the only way that consistently works is when i use JSON.stringify(a) on the
client side, both 2nd and last, worked under the above data options, and
loads on the server side. the loads will convert the pure "a" json object,
in the 2nd data option, to a proper addressable python dict, or as json1
variable converted with the python dict under that variable. the values of
the dict still have to be processed into int or double depending on their
twins on the db side.
but in every permutation, setting the option of "contentType:
'application/json'" returned no data under request.vars or
request.post_vars.
so, i believe i go with the working model of JSON.stringify on the client
side with loads on the server side. makes sense and i believe a solid
solution.
lucas
--
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.