我正在使用js fetch发送一个简单的POST请求,它被发送到调酒师标签软件集成应用程序,但它无法处理使用以下代码时发送的OPTIONS或CORS Pre flight:
<script>
const TurkishDelightBrownieButton = document.getElementById('Turkish Delight Brownie');
TurkishDelightBrownieButton.addEventListener('click', function () {
fetch('http://localhost:8000/brownie', {
method: 'POST',
headers: {
'content-type': 'application/json',
},
body: {
Allergens: 'Egg, Wheat, Soya',
Ingredients: "Sugar, Butter, Cream ,stuff like that",
Flavour: "Brownie Flavoured",
DatePacked: "12/08/2021",
BestBefore: "22/08/2021"
}
})
.then(response => {
console.log(response)
})
.catch(err => {
console.log(err)
})
});
</script>
这一切都是在本地完成的,所以我试图使请求适合于Bartender集成-这主要是application/json。
如果有人有任何建议或不同的方法来做到这一点,我很乐意帮助!
如果我正确理解了这个问题,您正在本地运行您的前端,而不是端口8000(您的后端使用的端口)。因此,前端向后端发出的请求是跨域。此外,为您的请求指定的内容类型(application/json
)是一个非简单的类型。
结果,浏览器将发送一个飞行前请求;这是没有办法的。