jquery ajax post list将'[]'附加到django中的querydict

时间:2014-01-09 09:46:37

标签: javascript jquery python ajax django

我正在开发一个Django项目,我正在通过Jquery的ajax方法发送一个帖子请求。已使用javascript从浏览器cookie中检索csrftoken。

$.ajax({    
    type : 'POST', 
    beforeSend: function( xhr, settings){
        xhr.setRequestHeader("X-CSRFToken", csrftoken ); 
    },  
    url : '/endpoint/',
    data : { 'requestParam': [1,2,3,4] }
}).done(function(d) {
    callback(d);
});

然后我通过ajax调用检查后端接收的内容;

print( request.POST )

我在期待这个;

<QueryDict: {u'requestParam': [u'1', u'2', u'3', u'4']}>

相反,我得到了这个;

<QueryDict: {u'requestParam[]': [u'1', u'2', u'3', u'4']}>

这看起来很奇怪。关键名称中的'[]'额外来自哪里?这是一个在Django中以这种方式处理的约定,还是AJAX在发送列表时所做的事情?

1 个答案:

答案 0 :(得分:12)

这是jQuery相信世界上每个人都使用PHP。

traditional: true添加到您的ajax对象。