【发布时间】:2020-11-03 01:15:32
【问题描述】:
所以我有一个收集数据的表单,并使用 myForm = new FormData() 发送到 API。然而,模型中填充的项目之一在 MongoDB 模型中具有多个属性。由于表单必须具有一对一的密钥对关系,因此我无法将其作为对象发送。所以,作为一个解决方案,我在我的控制器中构建对象,我想把它和其他杂项一起发送过来。表单数据(下面代码中的 startLocation 对象)。
具体看下面的代码,我想我可以使用 data: myForm, startLocation 来做到这一点,但遗憾的是,这不起作用。有没有好的方法来做到这一点?我只是搞砸了语法吗?
import axios from 'axios';
import { showAlert } from './alerts';
export const createTour = async myForm => {
try {
const startLocation = {
type: 'Point',
coordinates: [-80.185942, 25.774772],
address: '47 Bowman Lane, Kings Park, NY 11754',
description: 'New York'
};
const res = await axios({
method: 'POST',
/* headers: {
'Content-Type': `multipart/form-data; boundary=${myForm._boundary}`
}, */
url: 'http://127.0.0.1:8000/api/v1/tours',
data: myForm
});
if (res.data.status === 'success') {
showAlert('success', 'NEW TOUR CREATED!');
window.setTimeout(() => {
location.assign('/');
}, 1500);
}
} catch (err) {
showAlert('error', err.response.data.message);
}
};
【问题讨论】:
标签: javascript node.js mongodb post axios