У меня есть реакция. js интерфейс и node.js веб-приложение. Я использовал mongodb в качестве базы данных.
Я использовал ax ios для выполнения HTTP-запроса от внешнего интерфейса до внутреннего.
Я тестировал свое приложение на localhost , когда делает запрос DELETE, и проблем нет. Ниже приведен снимок экрана моей консоли браузера с http-трафиком c.
![enter image description here](https://i.stack.imgur.com/Fef1t.png)
Below is another screenshot of my browser console when running this web app that is deployed on a 'live environment'(Netlify,Heroku,Mongo Atlas).
введите описание изображения здесь
Понятия не имею, почему запрос HTTP DELETE заблокирован? Это из-за какой-то настройки, которую я не настроил в атласе mongodb?
Ниже мой код javascript на передней панели, который я делаю топором ios call
AxiosInstance.get("/statistics")
.then(function (response) {
// handle success
let message = "";
let sortedResultArr = [];
sortedResultArr = response.data.sort(function (a, b) {
return a._id - b._id;
});
for (let i = 0; i < sortedResultArr.length; i++) {
message +=
" Day " +
sortedResultArr[i]._id +
" Profit : " +
sortedResultArr[i].profitPerCup.toFixed(2);
}
AxiosInstance.delete("/statistics").then(function () {
alert(message);
window.location.reload();
});
})
.catch(function (error) {
// handle error
console.log(error);
});
Мне интересно, произошло ли это из-за того, что я вложил один вызов ios в другой?
РЕДАКТИРОВАТЬ: Для моего бэкэнда я использую приведенную ниже часть кода для обработки CORS
const corsOptions = {
origin: [process.env.FRONTEND_URL, "http://localhost:3001"],
credentials: true
};
app.use(cors(corsOptions));
Я также хотел упомянуть, что я также делаю HTTP DELETE на разных маршрутах, которые работают. На моих скриншотах выше заблокирован маршрут DELETE/statistics
. Однако, когда приложение выполняет HTTP-вызовы DELETE по другим маршрутам, ответ правильный, и работа с базой данных также правильная.