1

我正在尝试将一些数据从 Dojo 发布到 Django 应用程序。我使用 postData 将数据发布到服务器这里是代码片段

var csrftokenval    =   dojo.cookie('csrftoken'); 
    var selectedmoid1   =   tree.getSelectedItemId();
    var loadURL         =   '/calerts/';
    dojo.rawXhrPost({
        url     :   loadURL,
        headers :   {'X-CSRFToken':csrftokenval},
        postData:   dojo.toJson({'selectedmoid':selectedmoid1,'previousval':previousVal}),
        handleAs:   "text",
        load    :   function(data, ioArgs){
            dojo.byId('content-main').innerHTML =   data;
        },
        error   :   function(data, ioArgs){
        }
    });

在 Django 视图中,我得到的数据为

def calerts(request):
user        =   request.user
compId      =   int(request.session.get('USERCOMPANY_ID','-1'))
listCount   =   25
print '0000000000000000000000000000000 ',request.POST
print 'post dictionary ::: ',request.POST.dict()

我知道使用 dict() 方法从 querydict 获取 dict 值但是在我的情况下打印是

后字典 ::: {u'{"selectedmoid":"4","previousval":"4"}': u''}

我不明白最后的你是从哪里来的。我也想检索 selectedmoid 和 previousval 的值

4

1 回答 1

2

您将数据作为原始 JSON 帖子发送,而不是表单编码的帖子。因此,您应该从那里访问request.body, notrequest.POST并解码 JSON。

于 2013-10-01T15:11:08.343 回答