我正在尝试将一些数据从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值,但在我的情况下,print是
post dictionary ::: {u'{“selectedmoid”:“4”,“previousval”:“4”}':u''}
我不知道最终你来自哪里。另外我想检索selectedmoid和previousval的值
答案 0 :(得分:2)
您将数据作为原始JSON帖子发送,而不是表单编码。因此,您应该访问request.body
,而不是request.POST
,并从那里解码JSON。