首页 > 解决方案 > React axios 对 Django 后端的请求为空

问题描述

所以我试图从我的 React 应用程序向我的 Django 服务器发送一组扫描(dcm 文件)。请求应该如下

    [
     {
         "scans": [
                     {"scan_image": <dcm file data>},
                     {"scan_image": <dcm file data>}
                  ],
         "name": "Set Name."
     },

    {
         "scans": [
                     {"scan_image": <dcm file data>},
                     {"scan_image": <dcm file data>}
                  ],
         "name": "Set Name."
     }
 ]

如图所示,请求有效负载是一个对象数组。对象由两个属性组成,“扫描”和“名称”,其中扫描属性是包含来自 dcm 文件的数据的对象数组。当我遍历用户选择上传的文件时,我通过实例化的FileReader对象的readAsDataURL方法读取数据。

这是在需要发送到服务器的对象中收集的数据的日志。

包含要上传到服务器的文件的请求日志

这是完成请求对象生成后的 Axios 请求片段

axios({
        url: 'http://127.0.0.1:8000/create_sets/',
        data: requestObject,
        method: 'post',
        headers: { "Content-Type": "application/json" }
    })
        .then(res =>
            console.log("Success")
        )
        .catch(res =>
            console.log(res)
        )

不幸的是,在运行该脚本时,请求有效负载看起来像这样

[
    {
       "name":"5-AX T1-28522",
       "scans":[]
    },
    {
       "name":"3-AX T2 FSE-49954",
       "scans":[]
    },
    {
       "name":"4-AX FLAIR-60256",
       "scans":[]
    },
    {
       "name":"6-AX T1 POST-94928",
       "scans":[]
    }]

如您所见,我们在此处的屏幕截图中记录并显示的扫描数组是空的。请帮忙。我已经尝试过使用FormData并将 Axios 请求标头更改为multipart/form-data,但没有成功。这是项目中 repo 组件的链接。如果有人能够提供帮助,我将不胜感激。要查看的函数是onChangeHandler https://github.com/omargaber/Lesion-Lab-UI/blob/master/src/Sidebar.jsx

标签: javascriptdjangoreactjsrequestaxios

解决方案


推荐阅读