首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将数组数据发送到REST端点

无法将数组数据发送到REST端点
EN

Stack Overflow用户
提问于 2019-06-25 21:41:15
回答 1查看 47关注 0票数 0

我使用的是Django REST框架。我有一个模型,看起来像这样:

代码语言:javascript
复制
class Post(models.Model):
    title       = models.CharField(max_length=100, null=False)
    content     = HTMLField()
    created_at  = models.DateField(auto_now_add=True)
    authors     = models.ManyToManyField(User)

使用如下所示的api视图和序列化程序:

代码语言:javascript
复制
class CreateStoryApiView(CreateAPIView):
    serializer_class = PostSerializer

class PostSerializer(serializers.ModelSerializer):

    class Meta:
        model = Post
        fields = ('title', 'content', 'authors')

转到实际的端点,我实际上可以成功提交。我尝试使用Ajax获取详细信息并将数据提交到端点,但由于某些原因,我总是收到一个400坏请求错误。如果我删除了authors字段,就不会出现这个错误。下面是Ajax请求的样子:

代码语言:javascript
复制
$.ajax({
    type: 'POST',
    url: '/api/save-post/',
    data: {
    "csrfmiddlewaretoken": getCookie('csrftoken'),
    "title": "dasf",
    "desct": "dasf",
    "content": "fdasf",
    "authors": [1,2]
    },
    success: function (msg) {
        console.log(msg);
    }
});

当我尝试这个Ajax请求时,我得到了一个400错误的请求。为什么我不能成功提交我的数组?我尝试过"authors[]": [1,2]"authors": "[1,2]"以及许多其他的组合,但由于某种原因,似乎什么都不起作用。我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2019-06-26 08:50:57

检查您的django settings.py文件。您需要正确配置next参数,才能从另一台服务器发送请求。

代码语言:javascript
复制
 CORS_ORIGIN_WHITELIST = (
    'localhost',
    'your-domain.com',
    '127.0.0.1',
    '127.0.0.1:8080'
)

CSRF_TRUSTED_ORIGINS = (
    'your-domain.com',
)

CORS_ORIGIN_ALLOW_ALL = True

CORS_EXPOSE_HEADERS = [
'Access-Control-Allow-Origin',
'Access-Control-Allow-Headers'
]

CORS_ALLOW_CREDENTIALS = True

CORS_ALLOW_HEADERS = (
    'accept',
    'accept-encoding',
    'authorization',
    'content-type',
    'cache-control',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
)

CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
)

我怀疑这是因为它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56755454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档