axios - 发送表单数据和非表单数据

2024-04-20

我正在使用 axios 将数据发送到我的 nodejs/express 服务器。如果我想发送表单数据,我会执行以下操作(并且效果很好):

const formData = new FormData();
formData.append('nameOfFile', the_file);

axios({
    method: 'post',
    url: '/someRoute',
    data: formData
    headers: {
        'Content-Type': 'multipart/form-data'
        }
}).then(response => {
   // Do something with response
}).catch(err => {
   // Do something with err
});

同样,上面的代码工作正常。这里是/一些路线它到达的端点:

app.post('/someRoute', (req, res) => {
    const uploadedFile = req.files.nameOfFile;
    res.send('success'):
});

端点始终成功接收文件。到目前为止,一切都很好。

如果我想发送其他一些数据,比如date,我可以像这样发送(而且它也有效):

const date = '2012-02-13';

axios({
    method: 'post',
    url: '/someRoute',
    data: date
})

app.post('/someRoute', (req, res) => {
    const date = req.body.date;
    res.send('success'):
});

但我该如何发送both the formDate and date数据?我尝试了以下方法(但它不起作用):

const formData = new FormData();
formData.append('nameOfFile', the_file);

axios({
    method: 'post',
    url: '/someRoute',
    data: {
        form: formData,
        date: '2012-02-13'
    },
    headers: {
        'Content-Type': 'multipart/form-data'
    }
}).then(response => {
   // Do something with response
}).catch(err => {
   // Do something with err
});

和端点:

app.post('/someRoute', (req, res) => {
    const uploadedFile = req.files.nameOfFile;
    const date = req.body.date;
    res.send('success'):
});

这给了我一个500错误.


您可以执行与之前相同的操作,只需将您想要发送的其他数据附加到 formData 即可。 所以 formData.append('日期', 日期);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

axios - 发送表单数据和非表单数据 的相关文章

随机推荐