Я пытаюсь сделать запрос на размещение в бэкэнде, когда пользователь закрывает или обновляет страницу. Я добавил прослушиватели событий и могу запускать свои функции, когда эти события происходят. Но моя проблема в том, что когда эти функции отправляют запрос на размещение, они сначала отправляют запрос на опцион, а затем отправляют запрос на размещение. И это проблема для меня, потому что, когда я проверяю журналы бэкэнда, я вижу, что запрос опции получен сервером (и получает код состояния 200), а запрос на размещение - нет.
Вот мой код:
<template>
<div id = "app">
App
</div>
</template>
<script>
import axios from "axios"
export default {
name: "App",
mounted() {
window.addEventListener("beforeunload", this.reload)
},
methods: {
reload() {
this.sendRequest()
},
sendRequest() {
axios.put("http://xxxx:pp")
}
}
}
</script>
<style scoped>
</style>
Один простой обходной путь — использовать post
вместо put
и вообще избегать запроса options
. От MDN:
Межсайтовые запросы обрабатываются следующим образом... если:
- Он использует методы, отличные от GET или POST
Если вы не хотите этого делать, вам нужно будет обработать запрос options
на внутреннем сервере, предоставив заголовки CORS.