我正在开发一个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在发送列表时所做的事情?
答案 0 :(得分:12)
这是jQuery相信世界上每个人都使用PHP。
将traditional: true
添加到您的ajax
对象。