React:使用 axios 将 FormData 发送到 API

时间:2021-04-18 17:58:48

标签: reactjs api

我需要使用 react axios 将表单数据发布到 django rest api,这是我目前所拥有的

handleSubmit (values) {
let form_data = new FormData();
form_data.append('Title',values.Title);
form_data.append('Categories',this.state.Cat);
form_data.append('Categories',this.state.Lab);
form_data.append('Overview',this.state.Overview);
form_data.append('Price',this.state.Price);
form_data.append('image', this.state.pictures, this.state.pictures.name);

axios({
    method: "post",
    url: "/API/Create_item",
    data: form_data,
    headers: { "Content-Type": "multipart/form-data" },
  })}

使用上面的代码,我收到一个错误,告诉我所有表单字段都是必需的(意味着它们是空的)

我对 fetch 尝试了同样的方法,它确实有效,问题肯定出在 axios

编辑: 视图.py

@api_view(['POST'])
def Createitem(request):
    permission_classes = (IsAuthenticated,)
    parser_classes = [MultiPartParser, FormParser]
    
    serializer = CreateitemSerializer(data=request.data)
    if serializer.is_valid():
        serializer.save()
        return Response(serializer.data, status=status.HTTP_200_OK)
    else:
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

0 个答案:

没有答案
相关问题