django中的querydict对象_javascript – Django:从QueryDict读取JSON对象的数组

如何通过

AJAX调用从JS和服务器端传递复合

JSON结构,将其作为python中的“非常相似”的数据结构读取?

我知道可以使用json格式化(simplejson等),但是我以某种方式感觉到QueryDict本身在我的情况下是格式错误的或重新格式化的?

例:

当通过AJAX向Django视图传递JSON对象[{“id”:1},{“id”:2},{“id”:3})的数组时,QueryDict的格式为:

POST:

u'csrfmiddlewaretoken': [u'69bb3c434ced31ab301ede04bf491ec0'],

u'json_data[1][id]': [u'2'], u'json_data[2][id]': [u'3']}>

如何通过json_data进行迭代?

我想得到这样的东西:

POST:

u'csrfmiddlewaretoken': [u'69bb3c434ced31ab301ede04bf491ec0'], u'type': [u'clone']>

所以我可以使用QueryDict作为字典,并将json_data作为列表检索,并以一定的顺序进行处理:也许只需按顺序列表顺序遍历它们.

就像是:

ret = request.POST

for item in ret['json_data']:

process(item['id'])

实际上,进入process()的值可能是另一个键值对的字典而不是一个数字(1,2,3等)

使用Javascript:

var test = [{"id": 1},{"id": 2},{"id": 3}];

$.post(

"/insert_tc",

{

json_data: test,

"type": 'clone',

"csrfmiddlewaretoken": $csrf_token

},

function(json) {

//CALLBACK

},

"json"

);

views.py:

def insert_tc(request):

if request.method == 'POST':

ret = request.POST

type = ret['type']

list = ret.getlist(ret)

但是列表返回空[]

我尝试simplejson转储,加载,项目,获取方法,但没有一个帮助.

我甚至尝试jQuery.param(obj,true),但这不是我想要的(虽然有点接近).

有没有不同的/更好的方式来传递复合数据结构Django< - > JS通过AJAX?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值