为什么DRF以数组的形式接收我的jquery ajax请求?
我有以下问题:为什么DRF以数组的形式接收我的jquery ajax请求?,jquery,ajax,django-rest-framework,Jquery,Ajax,Django Rest Framework,我有以下问题: 我把$.ajax称为: $.ajax({ type: "POST", url: '/endpoint', headers: {"X-CSRFToken": csrf_token}, data: { 'action': 'my-action', 'data': {'text': 'blah'} }); 在Django Rest框架上,我得到了奇怪的结果 request.data == {'action': ['my-action'], 'dat
我把$.ajax称为:
$.ajax({
type: "POST",
url: '/endpoint',
headers: {"X-CSRFToken": csrf_token},
data: {
'action': 'my-action',
'data': {'text': 'blah'}
});
在Django Rest框架上,我得到了奇怪的结果
request.data == {'action': ['my-action'], 'data[text]':['blah']}
这里出了什么问题?所以答案是:
1.)jQuery发送了编码错误的请求,需要添加
$.ajax({
type: "POST",
url: '/endpoint',
headers: {"X-CSRFToken": csrf_token},
contentType: 'application/json', // <-- this
data: {
'action': 'my-action',
'data': {'text': 'blah'}
});
class MyViewSet(viewsets.ModelViewSet):
parser_classes = [JSONParser]
这让我很沮丧
request.data == {'action': 'my-action', 'data': {'text': 'blah'}}
我一直在找的